一、前言
临近毕业(2017年6月),所以果断于国庆后投入到了校招大军中,这段时间面试了5家公司(基本上都是多轮面试),也算小有收获吧。下面将一些面试过程碰到的知识点分享给大家,希望对看到本文的朋友多少有些帮助。
顺带提一句,我投递的岗位是Java研发类的。
二、遇到的知识点
Java相关知识
- 多线程
-
- synchronized在非静态和静态下的区别
- 生产者/消费者模式的实现
- 阻塞队列和非阻塞队列的区别
由于本人对多线程的学习不足,更深入的问题,面试官们也都没问。故不知道的一定要立刻说不。
- 实现相关
-
- hashCode方法的实现
- HashMap的存储机制
- Java的动态代理
- 反射和内省的区别
数据结构和算法
- 树
-
- 二叉排序树
- AVL树
- 红黑树
此处我在一家公司的面试过程中碰到了连环炮:面试官首先问我树的作用,我答到查找方面的作用;接着就问什么样的树查找效率高,自然是二叉排序树;接着就问什么样的二叉排序树性能最优;答到AVL树,接着又问到AVL树如何保持平衡。
- Hash表
- 排序算法
-
- 快速排序
- 桶排序
- 归并排序
- 其他
-
- Two sum
- 海量数据下的Top K
J2EE相关
- 过滤器、监听器的区别
- Spring AOP的实现原理
- Hibernate的缓存机制
- MVP框架
- Js的变量提升
数据库相关
- 数据库设计
- 事务
- 锁
- 存储过程
- 触发器
其他问题
- Kmeans算法的原理及优化
- 围绕项目经验的提问,如并发处理、性能优化、安全性等
- C++的智能指针
- 软件工程的一些方法论
三、总结
以上是我目前碰到的面试知识点,由于每个问题都比较基础,而且网上都能搜到相关内容,故未给出答案(其实是因为本人懒)。
找工作对个人身心都是场巨大考验。刚开始找的时候,对自己真的是备受打击,严重开始怀疑人生,心情异常低落,否定自己。需要不断为自己打气,迅速调整心情,坚持下去,在这里要真的感谢身边好友们的鼓励。
面试的时候也可以使用一些小技巧:如往自己的熟悉的领域引导,这样绝对会给你惊喜。
例如,我对HashMap的实现很熟悉,所以当面试官问我hash表的相关问题时,我在回答完其问题后,自然就提HashMap,此时面试官露出期待的眼神,所以我就详细说明了HashMap的实现原理。再例如,当面试官问我Kmeans算法的时候,由于我刚好对聚类算法有相关学习,自然提到Kmeans算法的缺点和优化,以及自己有实践的聚类,再到自己其他了解的算法。
个人认为,在面试的过程中,可以适当的做到“问一答十”(但此方法有风险,“十”真的得是自己真正明白之处,否则会死得很惨),正因为如此,所以我的面试时间一般都比较长,甚至遇到被hr提醒面试官时间到的状况。
以上便是笔者对自身这段时间的面试经历的一些总结。希望对有需要的朋友能有所帮助,当然大神们就当个笑话看看啦。