java面试官如何面试别人

                                                                                    java面试如何面试别人(一)

  java面试官的“面试心得”

  在公司当技术面试官几年间,从应届生到工作十几年的应聘者都遇到过。先表达一下我自己对面试的观点:

  1.笔试、面试去评价一个人肯定是不够准确的,了解一个人最准确的方式就是“路遥知马力,日久见人心”。通过一、二个小时内的做题、交流,只是没有其他办法下进行的无奈之举,所以通过了面试不代表有多成功,没通过也不代表有多失败。

  2.好的面试官本身交谈的时候就不应当把自己一个居高临下的角色上,应当把自己和应聘者当做两个做技术的人平等的交流,把自己当作权威往往就会受到观点的角度、语言表达、工作领域的惯性的制约。

  3.好的考察题目则是大家能经常接触,不同层次的人能有不同层次的答案,能从问题引申出后面继续讨论的话题。

  举个例子抛砖引玉,下面这个问题是我以前常问的,从应届生到工作十几年的人都问过:

  引用

  “地球人都知道,Java有个东西叫垃圾收集器,它让创建的对象不需要像c/cpp那样delete、free掉,你能不能谈谈,GC是在什么时候,对什么东西,做了什么事情?”

  我自己分析一下这个问题,首先是“什么时候”,不同层次的回答从低到高排列:

  1.系统空闲的时候。

  分析:这种回答大约占30%,遇到的话一般我就会准备转向别的话题,譬如算法、譬如SSH看看能否发掘一些他擅长的其他方面。

  2.系统自身决定,不可预测的时间/调用System.gc()的时候。

  分析:这种回答大约占55%,大部分应届生都能回答到这个答案,起码不能算错误是吧,后续应当细分一下到底是语言表述导致答案太笼统,还是本身就只有这样一个模糊的认识。

  3.能说出新生代、老年代结构,能提出minor gc/full gc

  分析:到了这个层次,基本上能说对GC运作有概念上的了解,譬如看过《深入JVM虚拟机》之类的。这部分不足10%。

  4.能说明minorgc/full gc的触发条件、OOM的触发条件,降低GC的调优的策略。

  分析:列举一些我期望的回答:eden满了minor gc,升到老年代的对象大于老年代剩余空间full gc,或者小于时被HandlePromotionFailure参数强制full gc;gc与非gc时间耗时超过了GCTimeRatio的限制引发OOM,调优诸如通过NewRatio控制新生代老年代比例,通过 MaxTenuringThreshold控制进入老年前生存次数等……能回答道这个阶段就会给我带来比较高的期望了,当然面试的时候正常人都不会记得每 个参数的拼写,我自己写这段话的时候也是翻过手册的。回答道这部分的小于2%。

  PS:加起来不到100%,是因为有确实少数直接说不知道,或者直接拒绝回答的= =#

  分析第二个问题:“对什么东西”:

  1.不使用的对象。

  分析:相当于没有回答,问题就是在问什么对象才是“不使用的对象”。大约占30%。

  2.超出作用域的对象/引用计数为空的对象。

  分析:这2个回答站了60%,相当高的比例,估计学校教java的时候老师就是这样教的。第一个回答没有解决我的疑问,gc到底怎么判断哪些对象在不在作 用域的?至于引用计数来判断对象是否可收集的,我可以会补充一个下面这个例子让面试者分析一下obj1、obj2是否会被GC掉?

  class C{

  publicObject x;

  }

  C obj1、obj2= new C();

  obj1.x = obj2;

  obj2.x = obj1;

  obj1、obj2= null;

  3.从gcroot开始搜索,搜索不到的对象。

  分析:根对象查找、标记已经算是不错了,小于5%的人可以回答道这步,估计是引用计数的方式太“深入民心”了。基本可以得到这个问题全部分数。

  PS:有面试者在这个问补充强引用、弱引用、软引用、幻影引用区别等,不是我想问的答案,但可以加分。

  4.从root搜索不到,而且经过第一次标记、清理后,仍然没有复活的对象。

  分析:我期待的答案。但是的确很少面试者会回答到这一点,所以在我心中回答道第3点我就给全部分数。

  最后由一个问题:“做什么事情”,这个问发挥的空间就太大了,不同年代、不同收集器的动作非常多。

  1.删除不使用的对象,腾出内存空间。

  分析:同问题2第一点。40%。

  2.补充一些诸如停止其他线程执行、运行finalize等的说明。

  分析:起码把问题具体化了一些,如果像答案1那样我很难在回答中找到话题继续展开,大约占40%的人。

  补充一点题外话,面试时我最怕遇到的回答就是“这个问题我说不上来,但是遇到的时候我上网搜一下能做出来”。做程序开发确实不是去锻炼茴香豆的“茴”有几 种写法,不死记硬背我同意,我不会纠语法、单词,但是多少你说个思路呀,要直接回答一个上网搜,我完全没办法从中获取可以评价应聘者的信息,也很难从回答 中继续发掘话题展开讨论。建议大家尽量回答引向自己熟悉的,可讨论的领域,展现给面试官最擅长的一面。

  3.能说出诸如新生代做的是复制清理、from survivor、to survivor是干啥用的、老年代做的是标记清理、标记清理后碎片要不要整理、复制清理和标记清理有有什么优劣势等。

  分析:也是看过《深入JVM虚拟机》的基本都能回答道这个程度,其实到这个程度我已经比较期待了。同样小于10%。

  4.除了3外,还能讲清楚串行、并行(整理/不整理碎片)、CMS等搜集器可作用的年代、特点、优劣势,并且能说明控制/调整收集器选择的方式。

  分析:同上面2个问题的第四点。

  最后介绍一下自己的背景,在一间不大不小的上市软件公司担任平台架构师,有3年左右的面试官经验,工作主要方向是大规模企业级应用,参与过若干个亿元级的项目的底层架构工作。

  java面试官如何面试别人(二)

  1.前台后台都做吗? 10分

  这一般是我的第一个问题,超过90%的人会回答:"都做,后台多一点,前台少一点"

  这不是我想要的答案,鬼都知道程序员都要多少涉及一下前台,后台更不用说了.

  碰到过一个聪明人,他是这么回答的: 前台js写的比较熟练,html的框架模板也能搭建的非常整齐美观,只是特效能力比较差

  这个问题我不想过多讨论,加分但不减分

  2.事务,什么是事务,为何用事务 10分

  大部分面试者,就会举各种各样的例子(比如银行存钱,这个最多)来说明这个问题,其实他们都理解.

  但这不是我想要的答案,我期望的答案只有一句:"保证数据的一致性和完整性" ,可惜只有5%左右的人答出来了

  这个问题可以大概了解出面试者的分析能力,以及语言总结能力,还有他们对这个玩意的理解程度

  答不出减分,举例子不加分

  3. 面向切面(AOP),原理是什么 10分

  这个就是对技能的掌握程度了

  大部分又是举例子,什么找中介啊之类的, 其实就是来掩盖他们懂一点实现逻辑,但是不知道源码怎么实现的.

  但还真是有学霸能把代理的原理讲出来,非常好.

  答不出减分,举例子不加分,讲出原理双倍分.

  4.两个项目之间如何通信 10分

  很基础的问题,答上来就有分,说明你接触或者了解过网络

  5.在上个问题基础之上问,碰到乱码怎么解决,utf-8和gbk可以直接转换么 10分

  大部分应聘者到这里基本就开始胡扯了. 有说声明字符串编码接收的,有说改项目编码的,各种各样五花八门.

  更有甚者,utf-8和gbk可以直接转换...

  直接说明了他们完全没有遇到过此类问题,也并不了解编码.

  答不出不减分,胡扯减分,答对双倍分.

  6.简述一项技术或设计模式的原理 20分

  这个几乎是送分的,但90%的人答不出.我很不解.

  答不出减分,答出加分

另外求职的各位同行,希望多锻炼自己的口才与技术.

原文地址:https://www.cnblogs.com/happyhuangjinjin/p/8455243.html

时间: 2024-10-04 13:34:53

java面试官如何面试别人的相关文章

一个资深java面试官的“面试心得”

在公司当技术面试官几年间,从应届生到工作十几年的应聘者都遇到过.先表达一下我自己对面试的观点: 1.笔试.面试去评价一个人肯定是不够准确的,了解一个人最准确的方式就是“路遥知马力,日久见人心”.通过一.二个小时内的做题.交流,只是没有其他办法下进行的无奈之举,所以通过了面试不代表有多成功,没通过也不代表有多失败.2.好的面试官本身交谈的时候就不应当把自己一个居高临下的角色上,应当把自己和应聘者当做两个做技术的人平等的交流,把自己当作权威往往就会受到观点的角度.语言表达.工作领域的惯性的制约.3.

入职四个月后,我当了一回面试官,面试了一名二本院校学生,结果。。。。

本文首发于微信公众号:程序员乔戈里 简历 1.首先说说简历,好多人都问过我,乔哥,进入bat这样的大厂是不是学历都需要211,985 其实,不是的,这次我面试的这个同学就是二本院校出生,我身边认识的 苦逼的码农 和 编程剑谱 的号主都是二本出身,也都拿下了BAT的offer,所以BAT这样的大厂并不是一定要211,985学历.继续说回到这位同学吧,这位同学虽然是二本,但是简历还是通过层层筛选,进入到了面试环节,肯定有一些过人之处.我看了看这位同学的简历,果不其然,还是很有料的. 我感觉可以用 光

(java web后端方向)如何让你的简历为你争取到更多的面试机会,内容来自java web轻量级开发面试教程

我们在做培训时,会发现一个不合理的情况,一些程序员能力不错,在公司里也是技术牛人,但发出去的简历往往会石沉大海,没有回复.对于刚毕业的大学生或工作年限在2年之内的程序员,这个情况会更严重. 这种情况下,其实不是你的能力有问题,而是简历筛选人(往往是人事或技术面试官)无法从简历上看出你很牛,或者即使能从简历上感觉到你能力很强,但会感觉到你的能力和公司的需求不匹配.不管是哪种情况,结果都一个,你甚至得不到技术面试的机会. 笔者在这里,将根据面试多个候选人(至今有100以上)的经验,来向大家展示准备简

[Java面经] 关于面试的二三事.

今天终于闲下来了, 那么也好总结下这几天面试的经历.四天的时间一共面了七家, 有一家是自己推迟了没有去.声明:如若转载请注明出处:http://www.cnblogs.com/wang-meng/p/5895787.html因为我之前的博文我发现很多被转载都是没有出处的, 直接复制粘贴就变成了他们的产物.. 先总结下这么几次面试下来的感受: 1, 先了解市场行情,给出自己的市场定位了解你所找工作 的一些市场行情, 这样你就知道自己的一个水平是可以拿到一个什么价位了.因为基本上每家公司都会提前对你

2018支付宝春招(java研发)实习面试

首先感叹一下大厂的效率,果然是杠杠的,头天投了内推简历,第二天直接电话面试.投的岗位是阿里的java研发工程师,之后是支付宝给的电话一面,面试的一位声音磁性的男技术面试官. 面试问的挺基础的,奈何自己基本都忘记了,有志向进大厂的一定要好好准备. 面试的基本流程:首先是 让做下自我介绍(介绍自己的项目经历和实习经历),我大致说了下自己之前做的一个小web项目 没有实习经历,面试官问了下项目中的一些小细节,自己负责的那部分内容的一些知识.问了项目用了什么框架.项目中存在的一些问题,我做的是连锁药店的

2019年美团、滴滴、蘑菇街Java岗9次面试总结

大概在三月份开始面了几家互联网公司,主要方向是java后端和大数据开发,最近整理学习资料,都快秋招了,发的有点晚了,不过还是想分享一下.美团,滴滴,蘑菇街等公司的面经. 美团 一面聊你最熟悉的项目和技术.项目中为什么要使用spark.spark怎么划分stage,宽窄依赖,聊源码spark提交一个作业的执行流程(单机模式)spark driver节点,worker以及master节点遇到故障如何解决.spark checkpoint原理聊JVM内存划分与GC算法.JVM中为什么需要使用分代收集算

《吊打面试官》系列-Redis哨兵、持久化、主从、手撕LRU

你知道的越多,你不知道的越多 点赞再看,养成习惯 前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难.作为一个在互联网公司面一次拿一次offer的面霸(请允许我使用一下夸张的修辞手法),打败了无数竞争对手,每次都只能看到无数落寞的身影失望的离开,略感愧疚,在一个寂寞难耐的夜晚,我痛定思痛,决定开始写<吊打面试官>系列,希望能帮助各位读者以后面试势如破竹,对面试官进行360°的反击,吊打问你的面试官,让一同面试的

微软架构详谈,从面试官的角度谈面试:剑指Offer名企面试官精讲典型编程题

前言 我在微软做了很多年的面试官,后面七年多作为把关面试官也面试了很多应聘者.应聘者要想做好面试,确实应把面试当作一门技巧来学习,更重要的是要提高自身的能力.我遇到很多应试者可能自身能力也不差但因为不懂得怎样回答提问,不能很好发挥.也有很多校园来的应聘者也学过数据结构和算法分析,可是到处理具体问题时不能用学过的知识来有效地解决问题.这些朋友读读海涛的这本书,会很受益,在面试中的发挥也会有很大提高.这本书也可以作为很好的教学补充资料,让学生不只学到书本知识,也学到解决问题的能力. 主页 目录 第1

作为面试官的一些心得

最近作为面试官,面试了几个人,虽然还没有招到合适的,暂且先记录下这段时间的心得吧,首先公司需要一个中级和一个高级,中级要求会写一些脚本,包括性能和自动化,高级的要求比中级更深入一点,当然薪水也更高.首先我在拉勾网上筛选中级的,基本上选择的是2-5年的,先在线上了解下,觉得ok就约过来聊聊.大概见了四五个,首先面试的时候我会让他做个自我介绍,了解下他的表达能力和过往经历,之后先从技术入手,比如说会什么语言,很多人都说自己学过python,我就会从浅到深问,列表和元组的区别,进程和线程分别用到什么模