一面面经在这:click here
4.1晚上美团20点二面 60min左右
这次时间有点赶忘了录音,凭借记忆,请见谅
1、自我介绍 + 项目介绍
说下python和java的区别,以及做项目方面的选择(本人有几个python后端的项目)
面试官问有没有高并发的场景并简单介绍下
2、技术栈
问了熟悉的技术栈有哪些,方便后面进行提问(本人 Java、MySQL、Nginx)
3、简单算法
青蛙跳台阶(简单dp or 记忆化递归) 2min搞定
学过数据结构吗?树的实现知道吗?(数组 or 链表)
二叉树的最长长度(面试官说的有点迷,我也没听明白,讨论了一会面试官就说不做了)
后面的问题可能有些不全且零散了 但基本上都较为常规 非常规的我都印象深刻 记录在下面
4、jdk源码 和 Java基础
又问看过哪些jdk源码(本人ArrayList、HashMap、PriorityQueue、AQS、Integer)
synchronized和lock的区别
volatile关键字,以及原理
问了CAS了解吗
偏向锁、轻量级锁、重量级锁(其中的cas的应用)
可以直接使用unsafe包下的cas方法吗?如果想要直接使用该怎么办?(没回答上来,说了原子类之类的)
解决hash冲突的方法,除了链地址法呢?(我说了两次hash、加盐,但好像没回答到点子上,有点忘了)
HashMap是否线程安全?
HashMap为何不能保证线程安全?具体说一下(jdk7头插法成环的具体情况、jdk8尾插法put操作的覆盖情况)
熟悉Iterator吗?(确实不咋会)
如果遍历list的时候使用remove方法,如何保证不会越界(应该是和iterator相关的,但我不太了解,就回答的动态计算出list的size)
==和equals的区别
Integer 127的两个对象是否相等?(缓冲池)
5、MySQL
问delete、truncate、【还有个啥关键字忘了】了解吗(除了delete,其他从没听过)
b+树结构、为何选用b+树(磁盘io次数)
MVCC说一下?有什么缺点呢?(缺点确实有点忘了,说了下一致性视图的资源消耗问题)
6、Spring
问我了不了解spring,我说的不是很了解但读过一部分spring启动自动装配的源码,面试官没有继续问
7、计网 + OS + 分布式
TCP三次握手、四次挥手说一下,为何需要三次,两次可以吗?
线程间通信?同机器进程间通信?不同机器进程间通信?
rpc框架用过吗?(没有)
说一下分布式叭
说一下分布式和集群的区别(不太知道怎么答,跟着感觉走的)
8、其他
介绍一下项目中遇到的难点以及如何解决的
9、反问
又问了下部门的详细情况
然后问了下还有没有技术面,面试官说还有一面
可能信息不够完全,请见谅,祝大家面试都顺利
全部评论
(4) 回帖