小米java南京 日常实习 一二面
5.30更新,oc了,进度好快,
﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉
一面
5.27 45min 基本开放性提问,几乎全程自由发挥
1.自我介绍
2.看你本科也是科班,问常见数据结构,展开说。答从数组链表吧啦吧啦讲到map、hashmap、treemap、concurrenthashmap
3.java八种基本数据类型(脑子抽了说了个String,忘说float和double)
4.hashmap和hashtable区别
5.线程池参数,拒绝策略
6.项目中遇到的难点(不知道说啥,说了经典秒杀的几个问题、缓存常见问题、开始吟唱redis分布式锁、分布式id)
7.数据量很大要存数据库怎么办(讲了下分库分表)
7.问mq的消息丢失问题。答举例kafka三个可能丢失的地方以及解决思路
8.说说了解的设计模式。详细答了工厂、代理、责任链模式,顺带说了aop
9.手撕:指定区间反转链表;手写单例模式的几种实现(飞书上出的题,我说能不能在本地ide写,他说当然可以飞书这个不好用)
10.最后问我实习什么时候能开始,能实习多久
*面试官没开摄像头我也没开。基本没往深处问,全是我自己想到哪说到哪。
二面
5.29,1h。老师麦有点炸
1.上来扔道算法,最大单词长度乘积(两个字符串不能有重复字母)。我问可以在本地ide写不,他说就在飞书写。自己在main里写测试用例测试,写完讲下思路,位运算判重。
2.java中的锁。细答了reetrantlock和synchronized,对象头,锁升级
3.AQS怎么保证互斥的。顺便答了AQS的实现semaphore拖时间
4.垃圾回收。答了内存分代,回收算法,回收器
5.cms和g1区别。细说了三色标记法拖时间
6.分布式id怎么实现。答了redis和redisson
7.还有其他实现方式吗。mysql自增主键
8.为什么要用redisson,不用redis实现。(?)
9.redisson锁过期续约机制
10.redisson怎么用的。(?)导依赖,声明客户端实例,调方法用
11.rabbitMQ和kafka区别(我俩项目分别用了)
12.explain sql里的字段。(记不全,说了几个重要的)
13.explain sql用的多吗。答:不多
14.sql索引失效的情况。
15.项目:消息全链路追踪怎么实现的。日志埋点
16.常见设计模式。答了单例、工厂、责任链、代理
17.这些设计模式在实际中怎么应用的。就答了单例用在spring的bean,代理,顺带讲了aop
18.git的多个commit怎么一次push。我:分支合并?玩具项目,用的不多
19.问实习时间。反问base,业务。一周之内给结果