Java面试官在面试时喜欢问哪些问题?

作为一名技术总监,我管理的技术团队有100多人,面试的Java程序员不要太多。

不同的面试官,面试的要求也不太一样,例如:有的要求表达好、会沟通;有的要求技术好、能直接上手撸代码,搞项目;有的要求人踏实、稍微带一带,能干活就行;有的要求。。 。

我的面试过程基本都是问答形式,想当年我去参加面试的时候,我非常非常非常不喜欢笔试。所以我现在也不给别人安排笔试。

我面试不会随便乱问,提问是有条理的。接下来就聊聊,我经常会提的一些问题,以及问题背后的一些想法吧。

1. 预热部分

Q:请简单做一下自我介绍?

A:上来问这么个问题,简历上都有,还问啥,难道脑袋瓦特啦?其实这会儿,主要让候选人平复一下心情,也默默暗示候选人面试正式开始啦(坏笑);① 看看候选人会不会滔滔不绝说个没完没了「时间掌控能力」;② 看看候选人会不会语无伦次「是不是没准备好或者表达能力有欠缺」。

Q:请针对做过的拿手项目做一下详细介绍?

A:咋问这么个问题。。。主要通过候选人项目介绍,围绕负责实现的功能模块,引入后续的面试问题。如果候选人没说好,可能就没法很好地引导后续问题啦,候选人的话语权以及控制权可都在这儿体现啦。

Q:请针对项目中用到的技术做一下介绍?

A:但凡项目亲身做过,肯定不至于冷场。主要考察候选人以往的项目的技术栈。如果招聘的岗位比较紧急,入职后就要上手干活,技术栈的匹配度,会稍显重要。

2. 框架部分

Q:简单介绍 Spring?简单介绍 SpringMVC 的工作流程?

A:主要结合候选人回答的项目中用到的技术进行,仅以此举栗子展开。主要考察候选人:① 能否采用通俗易懂的方式,解释何为 IOC 和 AOP ;② 能否结合实际项目进行展开阐述;③ 以及各自的底层实现原理。能够回答出原理的,并自己动手编码模拟过 IOC 、AOP 的会加分

Q:简单介绍 MyBatis 以及 MyBatis 的使用注意事项?

A:主要考察候选人对 ORM 框架的使用程度。能够回答出 SQL 注入预防会加分

3. 存储部分

Q:Redis 常用的数据结构有哪些?Redis 中 setnx 与 set 啥区别?结合项目谈谈 Redis 的应用场景?

A:主要考察候选人对 Redis 的使用程度,以及Redis掌握的深度。能够回答出 setnx 底层实现方式会加分

Q:简单谈谈数据库索引?「数据库方面,仅以此为栗子」

A:主要考察候选人对数据库索引的分类,以及底层实现方式的了解程度「能够回答出优缺点依然加分

4. 基础部分

Q:谈谈 Object 中常用的方法?「老生常谈」

A:这是一个非常常见的,基础知识问题。对于接触过Java的程序员们,应该不难,至少也能说出 4、5 个方法的样子。主要考察候选人对 equals 、hashCode 的认知程度,以及对 wait 、notify 的用途了解程度。引出接下来的集合、多线程相关问题。

Q:谈谈 Java 中的集合,并简单介绍 Set 如何保证添加元素的不重复?「集合方面,仅以此为栗子」

A:主要考察候选人对集合整体了解程度及扩容机制。并承接上个问题中 equals、hashCode 的应用场景「是不是心怀鬼胎(笑哭)」

Q:谈谈创建线程的方式,简单聊一聊 sleep 与 wait 的本质区别?「线程方面,仅以此为栗子」

A:在面试线程方面的知识时,基本上属于必问的问题。主要考察候选人对线程的熟练掌握程度。并承接上个问题中的 wait 的应用场景。

Q:谈谈 Java 中的 IO 流,及设计模式?

A:主要考察候选人对 IO 流设计模式的应用。如果候选人真回答不上来,会进行引导性提示。

5. 闲聊部分

Q:分布式环境如何保证任务只执行一次?

A:会结合候选人所做的项目变着花样去提问,是不是很鸡贼。主要考察候选人遇到问题时,如何分析问题,有没有解决问题的思路。

Q:如何解决数据量比较大的存储问题?

A:主要了解一下候选人有没有过往的项目经历,有没有相关解决思路。

以上是我作为技术面试官,经常聊到的一些问题,及问题背后的一些想法。还有很多,就不在此一一列举了。

技术面试,仁者见仁智者见智,没有个唯一的标准,程序员面试前做好充分准备,心中才有底气,才能展示出最好的状态,找到属于你的一席之位。同时,也建议面试官们,尽量耐心一点,带好节奏,即使前面一两个问题没回答好,也不要早下结论,万一你错过了一个千里马呢?

顺便在这里说一下,我目前是在职Java开发,如果在学习Java的过程当中有遇见任何关于学习方法,学习路线等方面的问题,你都可以点击? Java技术讨论,这里面聚集了很多正在学习Java技术的初学者,也有不少从事Java开发岗的大佬,与Java相关的问题都可以随时发出来讨论。

上面我没提到算法题,实际上现在面试问算法几乎已经是标配了。

在这里,推荐一个BAT大厂程序员写的LeetCode刷题笔记。

笔记里的的代码都已经 Beats 100% 了。没有 Beats 100% 题解就没有放到本书中了。

经常刷题的人都知道 Beats 100% 的难度:

  • 代码要短小精悍、言简意赅
  • for 循环用 size_t 比 int,unsigned int 要好
  • 分支判断在循环外解决
  • 算法必须是最优
  • 运气要好(相当于人肉试错)

大厂面试官出算法题的时候,都会有标准答案,Beats 100% 几乎就是标准答案!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值