2019校招技术类岗位面经汇总
实习重点看:项目+数据结构+简历上写的知识点的深入层次。
面试题外话:
1,投简历的时间:如果用app投实习简历,则周一到周四的下午2-4点投简历,不要问为什么。
2,简历是非常非常重要,可以找我帮你看一下简历,一定要保证简历的上面的东西都会。
3,找实习主要看运气,多投简历,多面试,没问题的。
4,简历要有照片,最好去外面的照相馆,照一张好看一点的。
5,广投简历,多面试,要面试经验,而且除了BAT,TMDJ之后,还有很多很多隐藏大公司。
基础知识(重要):
项目:
1,项目的设计思路是什么,为什么这么设计。
2,项目设计的难点是什么,怎么解决的。
3,项目怎么实现某某功能的。
4,项目你做了什么优化。
5,数据库做了哪些处理。
JAVA高级部分:
集合框架部分:
1,hashmap,hashtable区别?
回答闪光点:4点区别。
2,haspmap,hashtable实现原理?
回答闪光点:(看底层源码!!,如果能说出jdk1.7和jdk1.8区别是闪光点)
3,concurrenthashmap实现原理?
回答闪光点:(看底层源码!!,同样需要jdk1.7和jdk1.8区别)
4,为什么concurrenthashmap是线程安全的,hashmap是线程不安全的?
回答闪光点:(如果能自己打代码实践一下,则比较好,说出自己的实践)
5,concurrent的扩容机制,什么时候扩容?
回答闪光点:(说出超过容量*阈值即16*0.75=12时,会发生扩容等等)
6,Java的集合框架?
回答闪光点:(看组成及底层源码,然后引导hashmap)
Ps:超级多的东西。具体百度、知乎、博客查~
7,hashset实现原理?
回答闪光点:(底层有hashmap组成…说自己可以手写)。上面总体的闪光点。看底层源码,如果可以手写,就更完美了。
锁部分:
1,synchronized 实现原理?
回答闪光点:具体怎么实现的,比如通过反汇编可以看到里面有一个status标 志…等等。
2,synchronized优化都有什么?
回答闪光点:轻量级锁,重量级锁,偏向锁,自旋锁…等等。需要说出都是怎么实现的,比如前三个锁为通过Mark Word标题头进行控制,具体的自己实践一下,说一下自己的实践,超加分。
3,lock实现原理?
回答闪光点:底层由AQS组成…具体的看源码~
4,抢占锁和非抢占锁区别,怎么实现?
回答闪光点:先进先出队列…具体看源码。
5,lock和synchronized区别?
回答闪光点:说出原理,之后说区别,并且说什么时候用,之后自己再把代码实践的给他们讲一下。
6,CAS操作是什么,产生什么问题?
回答闪光点:会产生ABA问题,之后怎么解决ABA问题。然后再什么时候会进行CAS操作,比如concurrenthashmap插入操作时,会进行CAS操作。
数据库部分:
1,数据库索引怎么实现的?
回答闪光点:b树和b+树,原理,之后加分点是项目中怎么使用,比如使用数据库的主键b树索引 ,并且外键上加入索引,方便查询,防止全表扫描。
2,数据库优化?
回答闪光点:水平切分,垂直切分,使用索引,怎么防止索引失效,使用缓存,redis等。前面列举的,都需要知道什么意思,并且比如水平切分,在数据库怎么实现的,可以说,表的结构在项目中设计时,都是把一类一类放在一起。比如学生的信息放在一个表等等?
3,项目怎么设计的,怎么使用数据库的?
回答闪光点:运用了,第一范式,第二范式,第三范式…等等,然后结合项目说,具体怎么用的。
4,数据库的四种连接方式?
按常理会给你出题,让你手写sql。
5,数据库的特性,隔离级别,什么是脏读,不可重复读,幻读等等。
回答闪光点:举例说明隔离级别的区别。
数据结构:
基本:
1,手写单链表翻转,递归和非递归。
2,手写单链表成环,找环节点问题。
3,手写有序旋转二维数组。
4,手写前中后层序遍历二叉树,递归和非递归。
5,手写二进制中1的个数。
6,手写栈实现队列,队列实现栈。
7,手写归并排序,堆排序,快速排序。要求知道原理,即所有排序的复杂度,稳定性,为什么稳定。
进阶:动态规划
ps:不要恐惧,不难,动态规划就是模板+套路,直接带入数即可。傻白甜题目。
其他:
操作系统,计算机网路,和一些其他的东西请自行看面经,主要都是背的,闪光点也少一些,问的难度也不深。一般情况下,说hashmap,锁就够一次面试的时间了~在加上数据结构必会。这是重点。 不会的话,基本寸步难行。