微盟 Java开发岗位 面经 2019.10.11(秋招)

面试形式:直面

微盟一面 java开发 1h(通过)

1.自我介绍
2.说一下jvm内存模型
3.垃圾回收算法你了解哪些
4.如何判断对象可回收
5.堆溢出,栈溢出的情况有哪些?
6.进程和线程的区别
7.线程的生命周期
8.线程怎么创建
9.mysql有哪些索引?
10.索引的底层数据结构,为什么要用b+树,有什么优点,简单画一下b+树的结构
11.表锁有哪些
12.事务有哪些特征?事务特征的优先级怎样的?
13.说一下http
14.tcp:发送方向接收方发送三个包,如果第三个包发送过程中丢失,怎么办?
如果第三个包发送完成后,接收方回复的ACK丢失怎么办?
如果有很长的数据,前三个包总会丢失怎么办?
滑动窗口怎么理解?
15.用过linux吗?常用哪些命令?
16.在平时你们可以用ping,如果一些服务器不让用ping,怎么判断服务器可达?telnet
17.两个编程题,都是纯英文描述的,当场敲代码,eclipse
第一个是求一个二叉树的右子树,他说我可能写不出来,让我翻译了一下题目
第二个是一个数组中有重复的数据,求出去重之后的数组长度,不能申请新的数组,O(1)的时间复杂度。

二面 1h(通过)

1.你是昨天一面的吗????(我刚一面完出来…)
2.你有过实习经验吗?学习成绩怎么样在班上?
3.你会跳舞吗?会唱歌吗? …活跃一下紧张的气氛,现在开始面试
4.一面的表锁成绩不是很高啊? 表锁有哪些?
5.你的项目中有用到事务或者索引吗?
6.一订单流水表,有店铺ID,日期,状态等,如果查询这三个数据,怎么添加索引更高效?
7.开放题目:就现在这个面试场景,你用面向对象怎么写?你了解SOA吗?
8.进程和线程的区别
9.怎么保证线程安全的?
10.你了解什么锁?什么是对象锁?
11.用过linux吗?常用什么命令?mv你用来干什么?
12.写个代码。
A线程一直(不间断)往队列(queue)中写数据。
B-Bn(多个)线程(不间断)从队列中读取数据。
说一下思路,怎么保证线程安全?如果多个线程读重了怎么办?

hr 30min(挂)

1.了解公司吗?
2.为什么想来微盟?
3.平时学习方式
4.给一本书如何在两天之内读完
5.平时在学校做项目之类的 遇到问题会怎么处理?
6.学习过程中如果网上搜不到的话怎么处理?
7.自己有没有学习别的语言
8.有没有自学一些框架? 是怎么学习的?为什么要学习这个框架?有什么规划吗?
9.目前有没有offer啊?
10.你有什么要问我的吗?

你可能感兴趣的:(面经2019秋招)