应届生面试是一个非常困难的事,虽然我经历社招面试多年,但是当我第一次面对应届生面试时却是小白。首先,应届生简历非常多,如何能在这么多简历中找到合适的人,但是又不遗漏优秀的人呢。其次,应届生招聘不像社招,你无法通过技术深度和开发经验来判断一个人的能力和潜力。最后,如果你的提问,应届生有一部分能回答出来,有一部分不能回答出来,他是过还是不过呢?
我主要围绕着几点进行考核,扎实的基础能力,优秀的学习和思考能力,一定的实战能力。优秀学校的学生基础能力都不差,实战能力或多或少也都有,所以优异和普通的差距主要体现在思考能力和学习能力上。
一、基础能力
1、什么是值传递和引用传递
2、线程状态有哪些,它们之间是如何转换的
3、线程与进程的区别,各有什么优缺点
4、索引的作用及代价?如何建好索引?索引的原理
5、Hash算法
6、算法:二分查找算法,冒泡排序、选择排序算法、插入排序、归并、希尔、快排算法
7、锁:乐观锁和悲观锁
8、什么情况下会产生死锁?如何避免死锁?
9、JVM GC:介绍垃圾回收机制,垃圾回收算法。
10、JAVA的反射机制
11、Java集合类有哪些,分别在哪些场景使用
12、Linux下如何快速查找某个文件
13、Linux下如何设置环境变量
14、Linux下如何查看TCP连接状态
15、简述一次HTTP请求的基本流程
16、什么是JDBC,为什么需要什么是JDBC?实现原理是什么?
17、Get和Post的区别
18、Cookie和Session的区别,分别用于什么场景
19、为什么需要编码?UTF-8和GBK是如何进行编码的
20、分别介绍下JDK,JRE和JVM
二、学习能力
1、列举熟悉或研究过的技术框架
2、如何学习Java/C++?只是停留在用,还是深入研究过。
3、如何学习新技术?考察是否善于学习
4、新技术关注度,平常对哪方面的技术感兴趣?技术的广度和热情
5、看过哪些技术书,总结下看过的技术书
6、介绍下读过的技术论文
三、实战能力
1、介绍下自己开发过的程序,谈谈后续如何优化
2、在实战中有没有遇到什么技术问题,如何解决的
四、逻辑思维能力
1、有人把公司内网的信息截图泄露到外面,如何找出截图的人?
2、你有几位学弟,你要找其中一位学弟和你一起做项目,如何通过几个问题来判断学弟是否聪明?
3、你写了篇专利,如何快速判断这篇专利的创新性,和已有专利的重复度。
4、如果你开发了一个内部秒杀系统,让同事秒杀某件商品,如何找到作弊的人?