9点半开始面试,第一次来西二旗,8点多点就到了,在大厅等待区域等着,顺便看下美团的面经。
一面:
自我介绍,聊了一下为什么转专业,为什么考研
== 与 equals()区别?过
重写和重载?
面向对象有哪些特点,与面向过程相比有哪些优势?过
聊一下JVM的运行时数据区吧?栈区域能详细说一下嘛?
这个栈没有详细了解过。。
运行时数据区哪些是线程共享的?堆和方法区
异常和错误类了解过没有?怎么分类的?过
说一下异常的分类?
集合类问了一点,具体忘记了
map是怎么实现的?1.8之后做了什么优化?(链表变红黑树,昨天还看到了,一紧张忘记了。。WTF)
线程安全的map有哪些?(3个)
concurrentHashMap实现原理?(1.7 1.8各分别说一下)
volatile能详细说一下嘛?(这个题答得不太好)
wait和sleep区别?如何实现线程通信?wait和notify原理?(第三个不会,面试官给我讲了一下,,似乎也有点不太明白)
synchronized原理?(我把锁升级原理说了一下)
synchronized是什么性质的?volatile呢?
你刚刚说偏向锁、轻量级锁、重量级锁各体现在哪个方面?(答得不太好,面试官又给我讲了一遍。。。)
说一下线程池的优势吧?过
你平时都用哪些线程池?知道哪些?过
线程的五种状态了解吗?过
就绪状态和阻塞状态有何不同?(这题我直接懵了,面试官又给我讲了。。。)
讲一下可重入锁?(这个前两天刚看,说的还可以)
Spring的IOC和AOP讲一下?过
三次握手和四次挥手?
TCP和UDP?
MySql事务的隔离级别说一下?其中各解决了什么问题?
脏读 不可重复读 幻读
读未提交 1 1 1
读已提交 0 1 1
可重复读 0 0 1
串行化 0 0 0
MySql内部用的什么索引?B+Tree
B+Tree和BTree的区别(送分题,没答上来)
手写算法题:快排。
一面从9点40左右开始,面试到10点半,50分钟。。。然后面试官让我在会议室等待二面。
二面:
进来一位技术大佬(看面相就知道)
先自我介绍balabalabala.....
组原和网络学过没有?
答:没有系统学过
重写和重载?
我看你项目用了springboot+springcloud,简单介绍一下吧?balabalabala。。。
然后从项目开始入手,你用到了feign,知道调用原理吗?(没答上来。。)
你用redis做什么?(单点登录,实时数据缓存)
redis持久化知道吗,你用的哪种方式,区别?(我用RDB。。。然后区别说了一下)面试官问?还有吗?我实在想不到了。。
redis的发布订阅用过没有?(答:没有)
说一下SpringMVC处理流程,从拦截器,过滤器的角度。。我把一下组件和调用关系说了,拦截器没有用过,我说都是自己写的过滤器。。
然后给我出了一个题,在一个controller中有三个方法(1)(int id,String name) (2)(User user) (3)(@RequestBody User user) 前端怎么传递参数?请求方法?
@requestmapping 与 @restmapping区别?
写一个sql吧,查询学生选课最多的课程前5名。先分组,在筛选,很简单。巨紧张第一次写错了,第二次重新写写对了,但是把过滤忘记了。。粗心大意
Eureka的特点。。(注册中心,保证了AP)
你的项目既然用feign了为什么还需要Eureka?
application.properties和xxx.yml你喜欢用哪个?
application和bootstrap谁先启动?加载顺序?又问了一点原理?
说一下springcloud的组件吧?
写了一个算法题,中等题吧,但用双指针把大体思路说了,面试官说你这样得考虑很多因素啊!我说确实是,然后我说这个用动态规划递归也可以。
你还有什么问题要问我吗?
结束。
自我感觉一面面的全是基础,基础好了一面没什么问题,二面的话全部是结合项目来引出技术,包括一些开发的实用性等,把你招进来能上手写代码。
感觉二面面试官大佬有点强,原理性的东西都没答上来,感觉是要凉。
最后,跪求一个快手爸爸的offer......