看了一个3年程序员的简历,我大概知道我会问哪些问题了!
大家好,我是Hollis,很多人都知道,我现在经常作为面试官帮公司招聘,作为面试官,我通常会考察候选人的哪方面技能呢?看到简历之后,我又会问出哪些问题呢?这一篇我就来简单说一说。
首先要说的是,我面试的过程并不会按照我预先设定好的"题库"逐一去问候选人,而是会根据后续人所回答的问题去追问一些问题。
所以,我一般都会先让候选人做一下自我介绍,然后根据他介绍中有关项目去询问一些知识点。
而有的时候,当一个领域有关的问题问完的时候,我就会考虑换一个方向去问问题,那这时候要问的问题我主要会根据候选人简历上的一些内容进行询问。
所以,简历上面关于候选人的技术栈、主要技能、技能列表等部分内容我是比较看重的,我一般会认为这部分所写的内容,是候选人自己认为自己擅长的东西,我习惯从他擅长的东西入手。
如前段时间,我在我的知识星球的<模拟面试>板块中,看到一份简历后,我列举了一些我可能会提出的问题。
这份简历是一个在某中型互联网公司工作过3年的后端Java开发,他的简历排版我比较喜欢,是那种比较干净清爽类型的。他简历中提到自己擅长内容:
针对这些内容,我在完全不了解面试者的情况下,刚刚拿到这份简历之后,我可能会问出的问题如下:
熟悉消息中间件RabbitMq的使用及其实现原理
1、项目中使用过RabbitMQ,是什么场景使用的?不用的话能不能解决问题?2、RabbitMQ和其他的同类消息中间件相比有什么优缺点吗?3、RabbitMQ如何保证不丢数据?4、如何保证消息的消费不会重复?5、什么是业务幂等,什么是请求幂等,你们采用的哪一种?为什么?6、如果业务层没有做到幂等,还有什么办法在数据库层面避免脏数据产生吗?
有扎实的Java基础功底,熟悉JVM内存模型、Java高级特性和类库
1、JVM内存模型介绍一下吧。哪些部分是线程共享的,哪些部分是线程独享的?2、堆和栈的区别?3、数组分配在堆还是栈?4、所有对象都在堆上分配内存吗?5、什么是逃逸分析?什么是变量替换?什么是栈上分配?6、如何查看堆的使用情况?如何分析堆内存溢出问题?7、线上频繁FGC如何排查和定位问题?
熟悉Java网络与服务器编程、Java多线程编程等
1、什么是线程,进程?并发和并行?2、并发编程用过哪些关键字?3、synchronized的实现原理?4、volatile的实现原理?5、volatile为什么不能保证原子性?6、双重校验锁实现的单例中,用了synchronized为什么还要用volatile?7、知道什么是CAS吗?知道什么是乐观锁吗?
熟悉Mysql数据库,了解sql诊断和性能分析策略,有sql优化和数据库运维经验
1、做过哪些SQL优化?2、数据库有慢SQL,如何排查问题?3、慢SQL会引起什么问题?4、B+树索引和HASH索引的区别?5、B+树索引中叶子节点上存储的是什么的东西?有什么区别?6、什么是最左前缀匹配?什么是索引下推?7、索引越多越好吗?8、数据库挂了怎么办?9、关系型数据库和NOSQL有什么区别吗?各有什么优缺点?
熟悉Nosql数据库Redis,了解Redis事务控制;主从复制及持久化恢复等
1、Redis的线程模型?2、单线程的Redis如何保证高效的?3、Redis的事务控制怎么理解?4、如何解决缓存和数据库之间的数据一致性问题?
熟练使用常见的开源框架,如Spring, Dubbo, Mybatis, SpringMVC,SpringBoot,SpringCloud等
1、为什么要使用Dubbo?2、SpringBoot的starter机制了解吗?3、MyBatis和Hibernate有什么区别?4、为什么用MyBatis
熟悉linux系统常用操作命令
1、Linux机器LOAD飙高如何排查?
以上,就是看到一个3年左右的Java开发的简历中技能描述信息后,我可能会问出的一些问题。但是在实际面试过程中,我会根据实际情况去问问题,以上这些可能只有20%-40%会被真正的问到。
另外,其实以上这些问题,并不是随随便便问出来的,其实很多问题都是有一些关联性的,并且都是有目的性的。不同的问题考察的是候选人的不通的能力。
关于我问问一些问题的目的,以及我在面试中会重点关注候选人的哪些方面的能力,有机会我再单独分享。
本文是很早之前我星球刚刚开展<模拟面试>时候的一期内容,现在这个板块已经开展了很多期了。
想看更多相关内容、或者也想参与我们的模拟面试,可以了解下我的知识星球——
我几乎很少在公众号宣传我自己的知识星球,但其实我的星球已经有1600+朋友加入了。刚好最近618官方有活动,这里就给大家介绍下。
目前我的知识星球有几个重要的板块:
1、直面Java:每天更新一道Java相关面试题目,球友们自行学习。第二天统一给出标准答案。目前已开展324期。之前整理过<直面Java>的PDF,已经在星球内部发过一个版本,最近新版正在整理中,最近就会发出。
2、深入理解并发编程:不定期更新深入理解Java并发编程有关的知识内容。目前已开展13期。
3、模拟面试:不定期进行模拟的电话面试。
除此之外,还有问题答疑,简历指导,工作推荐,知识交流,资料分享等更多特权。
最重要的是,这个圈子有很多志同道合的朋友们,大家会经常讨论各种问题,氛围非常好。我最开心的就是听到哪些球友又拿到了某大厂的Offer。
现在知识星球618在搞活动,现在加入是最划算的(我的星球很参与活动,这次官方活动力度已经算是很大的了)。具体活动就是交一些定金,可以膨胀,最多可以抵扣50元。
扫描上面二维码即可参与活动(活动截止时间6.23),另外老用户续费目前6折优惠。
参加活动之后,大家可以加一下我的微信(Hollis666)备注下"星球",有什么问题可以咨询我,并且活动开始时我会在微信上提醒大家。期待与你相遇!