0507-小西科技集团一面 ,居然被拷打了。。。(1h)
timeline
5月7日上午投递,下午刚好没课就面试了。
面后感
我太菜了。。好多问题都忘了,没复习答的不好。
但是也反映学习还是有懈怠,加油复习
一面视频面
1. 自我介绍
2. 计算机设计大赛的项目是啥,介绍一下
3. 问一些常见的算法:
- Tire树是干嘛的,讲一下场景和原理。
- 二叉树层序遍历怎么写。
- 优先队列怎么实现
4. TopK怎么做,是快排好还是优先队列好,有什么区别,时间复杂度是多少,所有数据都放到堆里面嘛,空间复杂度上有什么区别。
5. 分布式锁怎么用的,怎么实现,为什么要用分布式锁,有其他方法嘛?
6. 为什么用lua脚本就能保证原子性呢(回答了一次通信,但是面试官说这样回答就只是redis框架上的问题),为什么单线程(回答并不是绝对单线程。。)
7. 除了分布式锁哪里还用了缓存(热点数据缓存,消息队列幂等消费等)
8. 没回答好幂等,又细问,,
9. redis 大key有什么问题 (没回答好,忘记讲在删除大key的时候出现问题了,主要还是忘记了)
10. 内存淘汰机制
11. 那你说LRU和LFU哪个好,(具体说是什么样的策略),那你觉得LFU更合理是吧
12. 为什么要异步kafka消费,数据量很大嘛?有多少?
13. 你这个粗排、精排这些东西怎么做的(实习的,记不清细节了,怕讲不好,只能讲不是自己做的了。。。)
14. 你这个耗时接口具体是怎么优化的? (具体想不起来了,只记得和join有关)
15. 转到Mysql优化上面了,怎么进行Mysql的优化?
16. 创建索引需要注意什么问题
17. 每个列都建立索引行不行
18. 让你设计一张表怎么设计主键(Mysql自增不行、redis自增不行、UUID不行,,)
19. 为什么UUID不适合做主键
20. 事务特性? 怎么实现?(undo log, redo log, MVCC)
21. 索引覆盖怎么做
22. explain会给你返回哪些信息
23. 假如explain给你返回的不是一行数据,二是多行,这是什么原因?(没听说过,猜测是子查询),那你这几行的顺序是什么(猜子查询在前,因为外查询要用到子查询的数据),下去自己再看看吧。。
24. 还有 in 和 exists有什么区别? (不知道,面试官说性能上有区别),那你觉得为什么性能上会有差别。这个原理其实有些复杂的,可以自己看一下)(没看过相关的东西,不会)
25. synchronized原理是什么? 锁的状态有哪几种,为什么要有轻量级锁你知道嘛
26. volatile关键字的作用是啥?可见性实现原理呢,能保证原子性嘛(很久没复习,随便讲了点,有错误面试官帮忙解答了)
27. ThreadLocal有什么用
28. 你用过线程池嘛? 怎么用的,那你怎么评估要设置多少个线程?比如我想压榨系统的性能,你觉得设置多少个线程合适?如果核心线程和最大线程一样的话,你会设置成多少?这主要还是看你服务器的性能
29. Excutors和ThreadPoolExcutors有什么区别,你说你会用哪种线程池,为什么
30. 了解git,maven,CI/CD这些嘛,这个CI/CD除了你说的还有什么作用?(不会
31. 上线参与过嘛,服务器直接重启嘛(没仔细了解,,,),如何部署上线?
32. Docker和k8s了解嘛(随便讲讲
33. 为什么要做限流和降级,你判断限流的标准是什么,请求多少次要限流
34. 服务注册中心有什么用,你为什么要拆分成微服务,怎么拆分,为什么这么拆?非用户级别的服务怎么调用(别念了师傅。,
35. 反问(业务、几面(共三面))
结果
过了,但是答得不行,还是太菜了。。菜牛是我了
推到下周再面,感冒状态不好()
更新
5.13 二面 30分钟过 ,约三面
5.14 hr面 等结果(虽然不打算去
#面试##实习##暑期实习##25届暑期实习##Java#主要收录一部分我的笔试面试经历文章,欢迎订阅。