微店 后端开发(Java) 秋招 一面 二面
一面
多线程
- 线程通讯的方法
- synchronized 锁升级
- synchronized 底层原理(没问,但是顺带说了)
- 和 volatile 的区别
- atomic 类用法和底层实现
- 线程池
mysql
- acid 是什么
- 四种隔离级别(重点说 rc 和 rr)
- acid 是由什么保证的
- 当前读 和 快照读
- mvcc 是怎么实现的
- 三种log(undo、redo、bin)
JVM
- 运行时数据区
- 垃圾收集
- 垃圾收集器(重点问了cms、G1)
算法
- 说说快排(没让写,简单描述了一些思路)
二面
多线程
- 多个线程操作一个变量会产生什么样的结果
- 怎么解决
- volatile(讲了底层实现)
- 加锁(问了锁的实现(讲到了AQS))
- 原子类底层实现
- unsafe 的作用,为什么需要操作直接内存
- CAS 存在的问题(ABA)怎么解决
- 线程池的参数
- 线程池的拒绝策略
其他
- NIO (多路复用)
点评
由于战线拉的还是比较长,而且秋招确实面了好多,所以有些地方的记得不是很清楚了(抱歉),有些问题也没有被记录进来(忘记了)。
面试体验
微店的面试体验非常不错,我个人喜欢和面试官有交流的感觉(不会我说完,面试官没点评产生停顿,或者产生冷场)微店的面试官感觉是比较专业的,能感觉的出来问题也是有所准备,循序渐进的,当然也有一定的发散性。反问阶段也会进行一些职业发展讨论(在二面)听听前辈的意见还是蛮有提升的。
难度
面试难度不算很高,常规的八股文基本都能涵盖到,但需要一些积累,因为会问道一些底层实现。可能和部门有关,面试官更多关注的是一些多线程上的知识掌握程度,对常规的http\分布式的开发基本没怎么问。
面试流程
大概流程
- 笔试 平台是牛客网 【笔试的太多题型有点记不清了,貌似有设计类的题型,有算法,有选择】
- 大约2周后 会有hr姐姐 来约面试 【一面】
- 一面通过 大约1周后 hr姐姐 会来约面试 【二面】,二面应该是部门的负责人,感觉水平很高。
- 二面通过 大约1周后 会进行hr面 【hr面】 这个存在分歧,貌似前端的同学和杭州的同学大多有三面(不知道是不是发sp呢??)
- hr面通过 会在周内 或者下一周发 意向书(非offer)
最后 希望看到这里能对您有所帮助,希望大家都能拿到自己想要的offer
最后的组合贴一个 微店的校招交流群 636264515