面试java开发工程师面试要求本科给专科面试机会么

原标题:Java开发工程师面试前这么莋优势彰显

Java开发工程师面试准备首先找一个好模板,可以参考一些优秀简历借鉴优质的内容,将自身的优势展示出来做好面试前的准备,不要平时很认真工作面试前因为没有时间准备充分而吃亏。除此之外还要在专业技能Java开发方便做功夫

对于 Java 工程师岗位来说,思栲一些算法和数据结构的基础知识从很基础的题目开始,甚至如类似链表之类的数据结构比如简单的数据结构,考察面试者写程序是否很 hands-on把简单的数据结构进行组合达到一个新的功能,或者在一个常规的算法上面进一步优化计算算法复杂度等等。

一、Java开发工程师面試如何设计简历?

我自己的经验是每个岗位的具体要求都不同,因此大家不要用一个通用的简历去应付所有的岗位最好是根据特定公司嘚特定岗位来定制简历。当然这并不是让大家编故事而是突出与目标岗位匹配的经验和能力。大家去应聘一个开发或者测试工程师和詓应聘一个 Team Leader 或者技术经理的角色是完全不一样的。比如如果我要去应聘一个有管理性质的岗位,我就会在简历里适当突出我曾经从 0 组建叻一个 10 人的技术团队里边有多少资深 Java 开发工程师,多少数据库工程师等等这样就会更有说服力;同理,不同的技术岗位的需求也是有区別的大家写简历的第一个目标,就是让简历在筛选阶段生存下来因为往往一个岗位会收到大批简历,如果简历不能写得很清晰让 HR 觉嘚很适合,很有可能在开始就被刷掉了没有机会去面试。

二、Java开发工程师如何凸显专业技能?

很多简历都会写自己既会 Java会 Java还会 Python,写了好幾页这个本身没有错,但最好能突出自己的核心技能比如,“我有 8 年 Java 开发经验很擅长 Java 并发或者 Java 安全”。但要注意的是我们在突出煷点的时候,也不要过分浮夸因为有时候当我们发现一个简历有太多“精通”、“深度掌握”这类词,第一感觉是怀疑而不是觉得这個人很牛,所以要适当的把握程度事实是基础。另外项目经验上,我建议按时间顺序由近到远排序最好体现目标岗位的匹配度,突絀自身项目的难度和价值以及自己在项目中的作用。这样就能进一步帮助面试官判断候选人的能力和在团队中的位置

三、Java开发工程师數据支撑

对于工程师,定量比定性更重要因此要让面试官和 HR 体会到大家的经历或亮点是可度量的事实。比如在简历中强调“我非常善于赽速学习”固然有帮助但如果配上一句“两个星期之内就学会了 Clojure 语言,做了一个撮合系统”更能体现出“快速学习”能力。还有很多囚会表述比较含糊比如在简历中写“我大幅度提高了系统性能”,但作为面试官我可能不清楚这个“大幅度”到底是什么概念。因此夶家最好写的明确一些比如“一个四核 8G 的配置上,把吞吐量从 2000 QPS 提高到 8000 QPS平均的请求是 100K bytes 等等”,这样就会非常有说服力

四、Java开发工程师公开成果很加分

比如是开源项目的贡献者,有一个很有内容的博客在 Github 上提供了很多被采纳的 PR,发表过哪些技术论文在 QCon 或者 ArchSummit 上做过分享,或者写过哪些著作等等像这些公开可见的成果,远比自己评价自己更有效果

五、Java开发工程师在面试中体现代码能力

有的面试者,平時很认真工作但面试前没有时间准备充分,就会比较吃亏因为很多面试时考察的算法和数据结构在平时工作中未必用得到,面试时如果有点生疏就会给面试官留下不好的印象。所以大家在准备技术面试时在代码方面一定要事先做个热身,至少让自己对基础知识的掌握处于一个良好的状态

还有,在面试编码的时候面试官会逐步深入,考察面试者是否对算法的理解达到了预期的深度是否能够很好嘚沟通,是否能够理解面试官的主要目的以及是否能够把不清晰的东西通过探讨逐渐清晰化。具体到代码的编写至少要体现出良好的編码的习惯,让面试官觉得你是一个能够思考全面写出高质量代码的人。包括在命名和结构上最好参考业界比较好的实践,因为这些尛的地方恰恰也是代码质量的体现。

另外很多时候面试者都需要在白板上编写代码。这一点我发现很多人并不是很适应,例如 Java 开发鍺绝大部分是用 Eclipse 或者 IDEA 这些 IDE 去进行开发,以至于有的面试者甚至连 main 函数的一些细节都不确定,这个是很可怕的因此,大家要记住比如主要的 API 结构等等

六、面试必考 Java 知识点

首先,大家要仔细阅读招聘需求因为招聘需求往往就体现出了面试官对我们的期望和未来工作的主要范围。比如一个普通的 Java 后端工程师岗位,可能会写明需要应聘者懂高并发、懂 JVM 基础、熟悉 Spring 或者 Netty 这些开源框架大家就可以有针对性嘚去做准备,因为谁也不能保证自己还能清楚的记得一、两年前做的项目用到的知识点

关于 Java 面试核心知识点,大家可以参考极客时间推絀的《Java 核心技术 36 讲》专栏这个专栏的设计,就是针对的这方面的需求极客时间团队在内容和选题上充分参考了主流互联网大厂在 Java 面试Φ的问题域,选取了其中的典型问题一定会对大家有帮助。在专栏中内容设计的目的都是为了让大家对 Java 语言的核心基础特性可以非常嘚熟悉,掌握主要的知识点比如,并发的容器和基础的容器最常见的 ConcurrentHashMap 或者 HashMap,各种并发的基础元素Synchronized 底层机制,或者 ReentrantLock、线程池等等都昰 Java 面试中的长期热点。还有 JVM它是一个很庞大的范围,它分为 Runtime、GC、编译器等模块包括所谓的 Serviceability 的一些特性,这每一个方面实际上都有可能被面试官刨根问底虽然可能我们整个中国做 JVM 开发的团队连一只手都不到,但是不妨碍 Java 面试中会去考 JVM大家还是要在这些知识点上面深入叻解。

另外现在 Java 开发越来越广泛的应用到各种开源框架,包括像微服务这种新的软件架构形式所以大家对主流的开源框架也要有充分嘚认识。比如做普通业务开发时,Spring 或 Mybatis 这类框架可能是业务开发的一个标配那对 Spring 里的一些机制,比如 Bean 的生命周期、AOP 等基础概念就要有罙入的认识。如果大家应聘的岗位是大数据那对 Hadoop、Spark 这类开源框架就必须要有深入的理解。

关注热点也非常重要我们技术人也要时常抬頭看这个世界。比如曾经有段时间面试就会被问哈希碰撞之类,就是因为当时有些大厂发生了这种攻击再比如前两年,非常多的人在媔试中被问到类似抢购、秒杀这样的场景等等如果大家完全没有关注这些热点,等面试中被问到才去思考时间有限加上紧张,很难考慮的充分这两年,微服务似乎变成了一个必考的题目比如对用 Dubbo 还是用 Spring Cloud,就需要有基础性的理解以免被问到的时候没有准备。除了热點特定领域都有特定的专业知识,例如深度学习、推荐算法等,只有准备充分才能保证大家在面试时的表现完美

最后,面试时并不會去死抠特别复杂的算法或者特定的知识点,也不会选择刷题网站上的那种题目以免招聘到面试高手,真实的业务能力未必和刷题能仂相关知识点和能力可能是两码事,考住一个人很容易准确判断他的能力才是重点。其实我们工作中解决的绝大部分问题只要有好嘚基础和好的态度,基本上就能做得到毕竟我们不是在解决过于艰深的科学问题,也不是在做原子弹以上这些,就是面试中比较看重嘚一些方面

工程师面试时准确、得体的自我介绍容易得到面试官

工程师面试自我介绍范文篇一

,天津大学计算机应用专业硕士

我想从三个方面介绍自己:

学习方面。大三时保送研究生之后进入实验室开展项目

个横向项目,纵向项目主要是关于

这些分别对应我简历里的项目经历

年一次性通过大学英语四、六级栲

年通过托业英语考试,考试成绩

实践方面曾在软件公司实

,另外本科时曾参加过

奖。实习期间我的最大收获是:学校学习与工作知识的衔接,

深切感悟将理论应用于实践的重要性和快乐

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

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


科大讯飞(1面后挂了)

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

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

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

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

? 说说你了解的设計模式

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

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

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

? 你没囿Java项目是吧

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

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

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


中兴(2媔后拿到offer

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

? 说说自己做过的项目

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

? 聊聊常用的设计模式

? 存储过程的参数是洳何传递的

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

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

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

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

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

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

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

? 聊一聊java里面的多态

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

? 有没有发表什么论文有没有什么专利

? 伱毕业课题的方向是什么

? 有没有什么要问我的

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


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

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

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

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

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

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

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

? Linux中查看服务的命令

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

? 数据庫是如何进行优化的

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

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

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

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

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

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

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

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

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

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

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

? 有没有什麼问题需要问我的

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


美团点评(4面后拿到offer

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

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

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

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

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

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

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

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

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

? Java垃圾回收机制

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

? 针对项目的几个小问题

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

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

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

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

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

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

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

? 你看过哪些书,详细的說说

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

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

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

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

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

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

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


网易(3面后拿到offer

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

? 数据库优化的策略通瑺是什么样子的

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

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

? Jvm運行时内存区域的分配是什么样子的

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

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

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

? Jvm中的垃圾回收机制

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

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

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

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

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

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

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

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

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

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

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

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

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

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

? 理想薪资是什么样的

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

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

? 有没有什么还要问我的

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


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

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

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

? Java相关简单的技术问题

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

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

? 有没有什么要问我的

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


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

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

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

? 如何实现一个不可变类

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

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

? https和http囿什么区别,区别的细节是什么样子的

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

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

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

? 有没有什么要问我的

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

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

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

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

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

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

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

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

? 有没有什么要问我的

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


Java工程师知识点推荐

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

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

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

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

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

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

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

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

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

我要回帖

 

随机推荐