腾讯PCG后台开发 实习一面凉经
2021.4.1 59min
1.自我介绍(才说了40s左右被打断)
2.熟悉mysql吗?上来就是一个场景题(A字段字符型全匹配,B字段数值型范围查找,要建什么样的索引——》联合索引)
3.hashmap的底层,扩容会怎样?
4.concurrenthashmap是否线程安全,如何实现
5.1.8之后hashmap如何优化,除了红黑树之外?
6.mysql隔离级别,答了未提交读马上就被打断了,未提交读怎么实现的(加写锁),只加写锁就可以吗?
7.场景题:在mysql的默认隔离级别下
有两个事务:事务A和事务B
第一个瞬间:事务A begin
第二个瞬间:事务B begin
第三个瞬间:事务A update t set k=2 where id=1
第四个瞬间:事务B update t set k=3 where id=1,,这时候会发生什么嘛?
第五个瞬间:事务B select k from t where id=1,,这个时候k等于多少?(面完试我才知道4的时候会卡住,但我当时瞎猜了。。)
第六个瞬间:事务A提交
第七个瞬间:事务B再读一次k,k是多少?
(这一题直接给我问懵)
8.关于项目,websocket长连接,如果有很多websocket的长连接,要怎么做?nginx怎么结合?(这题记不大清了)
9.select、epoll,epoll的优点
10.高并发的一些题,不会
11.redis zset的底层(dict+跳表),rehash的具体操作,为什么采用渐进式?(没答上来)redis是单线程还是双线程?(单线程),那所以为什么渐进式?
12.TCP四次挥手为什么会有大量的time wait
13.知道NIO吗?什么场景下使用?(答了BIO、NIO、AIO,和八股文的适用场景)然后又是一道场景题。。
(1)连接数少,传输的数据量大
(2)连接数多,传输的数据量小
(3)连接数多,传输的数据量大
以上三个场景分别采用哪一种?
14.mysql的底层实现
15.voliate关键字
16.单例模式
17.代码题(感谢评论区朋友的提醒,来自leetcode134)
环形路上5个加油站,一个数组e表示每个加油站能加的油,数组c表示到下一个站点要消耗的油,判断能否回到起点,可以的话输出站点编号
(太紧张没写出来,讲了讲思路。暴力是吧。。)
18.反问