2018Java高级工程师面试总结

2024-09-04 10:58

本文主要是介绍2018Java高级工程师面试总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2018Java高级工程师面试总结

java高级 2018-10-11 15:11:42

面试的岗位是Java后台开发,面的公司不多,主要有美团点评-网易-网易有道-携程-华为-中兴-科大讯飞-烽火通信这些公司。从前到后简单记录了自己面试时候遇到的问题,以及对面试给了一点点小的建议,给明年甚至以后的师弟师妹们一些参考。欢迎各位朋友一起交流。

关注我:私信回复“架构资料”获取往期Java高级架构资料、源码、笔记、视频

Dubbo、Redis、设计模式、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术


科大讯飞(1面后挂了)

讯飞一面(电话面 1对2)

2018年8月23日 时间 40分钟左右

Ø 自我介绍

Ø 说说项目

Ø 数据库内外网交换怎么做的,如果交换给你做,你怎么做

Ø 你知不知道一些第三方的组件能够完成数据库的交换

Ø Web service的介绍,是怎么编写的

Ø Linux修改权限的命令是什么,你对Shell编程了解多少,通常用来做什么

Ø 说说你了解的设计模式

Ø 假设一个a类变到b类,那么你用适配器模式怎么完成

Ø 数据库你通常是怎么优化的,使用过什么其他的工具优化没有,怎么用的

Ø 现在有一个很多个表进行关联查询的sql,子表的数据非常的多,那么请问你仅仅从sql的角度去进行sql语句的优化,不需要考虑索引、谓词

Ø 你没有Java项目是吧

Ø 你专业是控制方向,为什么搞现在的方向

Ø 你有什么问题要问问我的

分析:这次被挂的原因主要是我选择电话面试的地点有问题,在楼梯道里面,信号不好,加上回声,通话质量非常低下。建议参加电面的同学找一个通话还不错的地方参加电面比较好。


中兴(2面后拿到offer

中兴一面(现场面 1对2)

2018年7月18日 时间 20分钟左右

Ø 自我介绍

Ø 说说自己做过的项目

Ø Java虚拟机运行时内存分配和内存释放

Ø 聊聊常用的设计模式

Ø 存储过程的参数是如何传递的

Ø 存储过程的异常怎么分类的,你所写的存储过程中,是如何使用异常的

Ø 存储过程你通常在在何处编写

Ø 你们数据库使用的是什么字符集,你觉得和其他的字符集相比,有什么区别

Ø Oracle数据库中分别使用什么函数查看字符串的字符数和字节数

Ø 开发中如何解决SQL注入的问题、是否了解其他数据库

Ø Linux中如何查看cpu的使用率

Ø 是否通过英语六级、计算机等级、首选工作地点,为什么,家里几个小孩

中兴二面(现场面 1对2)

2018年10月8日 时间 20分钟左右

Ø 自我介绍

Ø 聊一聊java里面的多态

Ø 说说你的项目里面触发器是如何使用的,触发器有什么优点和缺点,通常有什么作用

Ø 谈一谈数据库里面的视图

Ø 你通常是通过什么样的方式和途径来学习的

Ø 说说英语口语,就简单的用英语介绍一下自己

Ø 目前的应聘进展怎么样,期望的工作地点是哪里

Ø 你奖学金非常的多,那么在你本科或者研究生的阶段,你做过的最失败的一件事是什么

分析:总体上来说中兴面试的难度不大,拿到offer也相对容易,面的好的有机会拿sp。


华为(2面后等待结果,估计是备胎了)

华为一面(现场面 1对1)

2018年9月21日 时间 40 分钟左右

Ø 自我介绍

Ø 介绍项目

Ø 数据库的触发器你通常是怎么编写的,有什么作用

Ø 触发器和函数的区别是什么

Ø 数据库除了oracle还了解过什么其他的数据库,各自有什么特点,你觉得阿里巴巴使用的是什么数据库

Ø Dbutils是哪个公司的产品,数据库连接池有哪些,如果让你自己实现一个数据库连接池,你怎么设计

Ø 说一说java里面单例模式通常是怎么实现的,各自有哪些特点

Ø 说说java里面的集合框架,各自是如何使用,有哪些区别和缺点,怎么

Ø 聊一聊java里面的多线程编程,详细说说java里面的并发包,线程池的实现原理是什么样子的

Ø Java反射有没有过学习,java的注解有没有过了解

Ø 讲讲tcp和ip协议有什么区别,如果我们华为这边要和其他公司进行数据通信,请你设计一个通信方案

Ø 有没有什么问题要问我的

华为二面(现场面 1对1)

208年9月21日 时间 20 分钟左右

Ø 自我介绍

Ø 你是不是党员,你在学校的成绩怎么样,拿过哪些奖学金,参加过什么比赛

Ø 你的成绩可以保研,你为什么选择考研,你考研的成绩怎么样

Ø 有没有发表什么论文,有没有什么专利

Ø 你毕业课题的方向是什么

Ø 有没有什么要问我的

分析:华为今年非常看重学校,专业,论文,专利,成绩,竞赛,感觉面试只是作为一个参考,没有作为比较高的应聘评价标准。至今本人仍然是录用审核中,估计是备胎了。


网易有道(2面通过后放弃后续面试)

有道一面(电话面 1对1)

2018年9月8日 时间 50 分钟左右

Ø 自我介绍

Ø Java的内存布局以及堆内存是如何管理的

Ø 了不了解GIT和SVN

Ø 有两个链表,如何判断它们是否相交

Ø 有两个单链表(不存在环),不借用任何其他数据结构,怎么遍历一次就判断是否相交

Ø TCP是如何来保证可靠的传输的

Ø 如何你和你的同事同时在开发项目,但是你们的代码冲突了,并且生成了日志信息,那么请问你怎么进行处理

Ø Linux中查看服务的命令

Ø 你这个命令会出现很多服务,那么怎么找到我要搜索的服务名称

Ø 数据库是如何进行优化的

Ø 项目里面有没有使用到缓存

Ø Lucene的实现原理

Ø 倒排索引的介绍

Ø 百度的查询框中,假设你打了一个“中”,那么下面的一串的提示字符,类似“中国/中间”这些是如何出现的

Ø 如何管理这些常用词汇的索引

Ø 与面试官的交流

有道二面(电话面 1对1)

2018年9月12日 时间 60 分钟左右

Ø 自我介绍

Ø 项目简单介绍

Ø 现在有一个按照升序排序的数据,那么将数组后面的0个或者多个数组移动到数组的前面,那么再给你一个整数,那么请使用最快的方法找到这个x出现的索引(如果出现的话,可能不出现)

Ø 现在有一个字符串流数据,在这里面含有邮箱,已知邮箱的最大的长度为50字节,那么请教字符流中的所有的邮箱提取出来

Ø 现在有一个n*n的方格,里面每个格子都有大于等于0的数值大小,那么现在需要从左上角走到右下角(只能有两个方向可以走),请问怎么走才能使得走过的格子的和最大

Ø 如果要求从左上角走到右下角,经过的格子的值大小置为0,再从右下角走到左上角,怎么样才能使得两次走过的和最大

Ø 如果要求从左上角到右下角,再从右下角走到左上角,再从左上角走到右下角,经过的格子的值大小置为0,怎么样才能使得两次走过的和最大

Ø 在一个平面中有两个矩形,现在知道两个矩形的坐标,那么请判断这两个矩形是否有重叠。

Ø 现在要设计一个类似于word一样的工具,但是要求可以远程的多个人一起对同一个文档进行操作(编辑,删除等),同时要求一个人的修改能够立刻让另一个人看到,并且可以动态的添加人员进入,而且需要保证数据的唯一性、一致性和高效性,不要出现锁住等情况,那么让你设计,请问你如何设计。

Ø 有没有什么问题需要问我的

分析:直到10月26号有道的hr才给我打电话,问我27号是不是可以去杭州参加终面(北京的面试官过去面,一轮技术一轮hr),因为和其他公司签约的原因,我的时间和条件已经不允许了,也就委婉的拒绝了。总体上对有道的印象还是很不错的。


美团点评(4面后拿到offer

美团点评一面(现场面 1对1)

2018年9月20日 时间 50 分钟左右

Ø 自我介绍

Ø 项目介绍

Ø 自己在项目里面主要完成了哪些的工作

Ø 说说项目的数据库的设计

Ø 项目中数据库之间的同步是如何完成的

Ø 项目中的模板消息推送是采用什么机制的

Ø 通过业务将所有的表以及表和表之间的关系复现出来

Ø 既然数据库使用的比较多,那就谈谈数据库的事务,举例说明

Ø 事务的隔离性详细的说说

Ø Jvm运行时内存区域的分配

Ø Java垃圾回收机制

Ø 手写一个算法题,对字符串的处理,分别统计出任意一个字符串中所出现的字符的个数

美团点评二面(现场面 1对1)

2018年9月20日 时间 50 分钟左右

Ø 自我介绍

Ø 项目详细介绍

Ø 项目里面的数据库是如何设计的,有哪些表

Ø 数据库在使用的时候是如何进行优化的

Ø 外网和内网的数据交换是什么完成的

Ø 画一下你们这个项目的通信结构图,给我分析分析

Ø 模板消息推送是如何完成的,你们对于没有完成的推送有没有做出什么补偿机制

Ø 为什么考虑这种方式进行推送,有没有其他的方法

Ø 你们有没有考虑过web service本身就挂了的问题

Ø http tcp ip你最擅长哪一个

Ø 画一下tcp三次握手的过程,写出来状态和发送的信息

Ø 写一下tcp主动关闭的一方的几个状态,并且解释一下这些状态

Ø 你们项目中上传图片是采用post的哪种方式

Ø http的常用的状态有哪些,301和302的区别是什么,503是什么意思

Ø 说说lucene的索引的原理,你项目中是如何使用的,你使用的分词方式是什么,有哪些分词方式

Ø 为什么不使用数据库提供的全文索引,它是如何更新索引的

Ø 有没有什么问题要问我的

美团点评三面(现场面 1对1)

2018年9月21日 时间 50 分钟左右

Ø 自我介绍

Ø 项目详细介绍

Ø 针对项目的几个小问题

Ø 手写一个算法题:求解一颗二叉树的深度,并分析

Ø 手写一个算法题:求解一个旋转数组中出现的最小的数字,要求效率高,并分析

Ø 你自己在以后想从事什么方向的工作

Ø 有没有什么问题要问我的

美团点评四面(现场面 1对1)

2018年9月21日 时间 30 分钟左右

Ø 自我介绍

Ø 平时是如何学习的,通过哪些方式,学到了什么

Ø 你本科硕士并不是计算机专业,为什么想从事互联网方向

Ø 你看过哪些书,详细的说说

Ø 在项目里面你是如何和你的同学进行分工协调,高效工作的

Ø 如果出现了不一致的意见,你们是怎么解决的

Ø 你对我们新美大的产品有过哪些接触,感觉如何

Ø 我们新美大工作地点有北京和上海,你会选择哪一个城市,为什么

Ø 你还有没有收到其他公司的offer,那你会在这些里面如何的选择

Ø 有没有什么问题需要问我的

分析:很幸运通过了美团点评的四场面试,拿到offer,最终也是放弃了其他的机会,和美团点评正式签署三方协议,具体的部门是基础架构中心,做Java后台开发方向。


网易(3面后拿到offer

网易一面(现场面 1对1)

2018年10月8日 时间 50分钟左右

Ø 自我介绍

Ø 项目简单介绍

Ø 数据库优化的策略通常是什么样子的

Ø 数据库同步你做过哪些方案,各有什么优缺点

Ø 现在有两张表(记不太清楚了),问怎么查询才能保证查询效率最高

Ø Jvm运行时内存区域的分配是什么样子的

Ø 假设出现了内存溢出或者栈溢出的话,怎么去解决这些问题

Ø 内存泄漏通常有哪些可能的原因引起

Ø Jvm中的常用的参数有哪些

Ø Jvm中的垃圾回收机制

Ø Linux你学习的深度是什么样子的,了解过哪些

Ø 面试官打开他的mac敲了一个命令,出现了很多数据,指着里面的一列,问我是什么意思

Ø 后面就是他在和我说岗位通常做一些什么,介绍了他们的那边的环境等等

网易二面(现场面 1对1)

2018年10月12日 时间 50分钟左右

Ø 自我介绍

Ø 介绍项目

Ø 说说数据库的索引在你项目里面是怎么使用的

Ø 有哪些索引,它们底层是采用什么数据结构去实现的

Ø B树和B+树的区别在哪里

Ø 现场画了一个数据结构(类似于循环队列),然后现场写代码对这个数据结构进行封装和操作,要保证多线程操作没问题,同时还需要考虑到数据结构的空和满等条件下成员变量的变化

Ø 你觉得数据库运维这个岗位日常的工作有哪些,你怎么看待这份工作

Ø 有没有什么问题要问我的

网易三面(现场面 1对1)

2018年10月12日 时间 40分钟左右

Ø 刚刚面完了前两轮,那你对前两轮面试官的评价是什么样子的

Ø 然后中间就是很多很多很多hr的问题了,有点不记得了,主要围绕的就是如何学习,如何规划,如何与同事友好相处,如何去解决问题,如何与人沟通等等方面,需要用实际例子说明

Ø 你对网易有没有什么了解,有没有什么给你印象非常深的地方

Ø 理想薪资是什么样的

Ø 对以后的规划是什么样子的,家里有没有什么建议或者看法

Ø 有没有其他的offer,那么这些公司假设都给你offer,那么你如何选择

Ø 有没有什么还要问我的

Ø Ps 是一位美女hr

分析:顺利拿到了网易的offer,据说很多进入到hr面的人,大部分都被刷掉了。最后因为岗位部门的原因并没有选择网易。但是从我对网易的各方面的了解来看,我真的挺喜欢这个公司的,给我的感觉非常好。


烽火通信(1面通过后放弃终面)

烽火一面(现场面 1对1)

2018年9月23日 时间 15 分钟左右

Ø 自我介绍

Ø 项目简单介绍

Ø 数据库相关简单的技术问题

Ø Java相关简单的技术问题

Ø 有没有女朋友,家里是哪里的,意向城市是哪里,公司加班比较多能否接受等

Ø 对烽火通信有没有什么了解

Ø 有没有什么要问我的

分析:烽火通信总体上面试还是比较简单的,offer也是比较好拿的。


携程(2面通过放弃后续面试)

携程一面(电话面 1对1)

2018年9月27日 时间 45 分钟左右

Ø 自我介绍

Ø 数据库相关问题

Ø 面向对象的几个性质,举例说说

Ø 多态通常怎么实现

Ø String类可不可以继承

Ø 如何实现一个不可变类

Ø 详细介绍java下面的集合框架、并发包

Ø 讲讲http协议,输入一个网址到浏览器呈现出界面的过程是什么样子的

Ø https和http有什么区别,区别的细节是什么样子的

Ø Linux下创建一个文件用什么命令,修改权限使用什么命令,修改所有者使用什么命令

Ø 说说工厂模式,工程模式和策略设计模式又什么样的区别

Ø 说说servlet中的过滤器的使用

Ø 是否了解spring

Ø 有没有什么要问我的

携程二面(现场面 1对1)

2018年10月10日 时间 35 分钟左右

Ø 自我介绍

Ø 项目简单介绍

Ø 触发器你在你的项目里面是怎么使用的,函数和存储过程有什么区别

Ø 在你的开发中,你觉得触发器的优缺点分别是什么

Ø 在你的项目中,有没用什么难点,最后又是怎么解决的

Ø 你通常是采取什么方式进行学习的,你觉得学习一门语言或者技术该如何下手,关键在什么地方

Ø 现在有10亿条数据的一张表,请你设计一种方案快速的将这些表中的数据搬迁到另一个数据库中

Ø 你和你的朋友在同一个部门上班,做同样的事情,结果他被加薪升职了,请问你如何做

Ø 你目前手里还有没有其他企业的offer,方便说说吗

Ø 有没有什么要问我的

分析:携程一面还是很基础的,二面应该是一个领导面的,更加注重实践和开放性问题。投递简历被分到了酒店部门了,所以需要三轮技术面,但是由于当天面试官需要赶回去,也就没有面了。


Java工程师知识点推荐

Ø Java基础知识:多线程,并发编程,JDK源码,JVM,框架,设计模式等,推荐《深入理解Java虚拟机》,《Java并发编程艺术》等。

Ø 数据结构与算法:排序,查找,各种常用数据结构,动态规划等,推荐《剑指offer》,《编程之美》等。

Ø 数据库:数据库表设计,事务,锁,SQL编写,存储过程,触发器等,推荐看MySql,其他例如Oracle之类的也没问题。

Ø 计算机网络:TCP协议,IP协议,HTTP协议等,推荐《计算机网络》,《UNIX网络编程》等。

Ø Linux操作系统:操作基础知识,常用命令等,有精力的可以看看shell脚本编程。

Ø 项目:需要对项目中的技术知识点搞清楚。

Ø 交流能力:不管什么时候,与人的交流能力都是比较重要的,面试时候也是一样。

Ø 推荐网站:《牛客网》等

关注我:私信回复“架构资料”获取往期Java高级架构资料、源码、笔记、视频

Dubbo、Redis、设计模式、Netty、zookeeper、Spring cloud、分布式、

高并发等架构技术

这篇关于2018Java高级工程师面试总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1135825

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分