当前位置: 首页 > 面试经验 >

小米java南京 日常实习 一二面

优质
小牛编辑
76浏览
2024-05-29

小米java南京 日常实习 一二面

一面

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.最后问我实习什么时候能开始,能实习多久

*我看面试官没开摄像头我也全程没开。基本没往深处问,全是我自己想到哪说到哪。撕代码的时候还提醒我类方法加static免得底下main里调用一直报错(尴尬)


二面

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,业务。一周之内给结果


发面筋,攒人品

 类似资料: