腾讯云智后台开发实习一二三面(已offer)
腾讯云智Java开发一面(腾讯会议部门)
1.项目(让项目和竞赛里面选一个,我选的是项目,讲项目的难点)
2.提问项目权限控制问题
3.提问项目遭遇攻击的解决办法
4.redis的数据一致性问题(说了很长时间先删除后更新和先更新后删除)
5.知道哪些流量控制算法
6.负载均衡算法
7.hashmap的hash冲突问题怎么解决
8.hashmap红黑树性质
9.hashmap为什么要用红黑树(我从泊松分布方面开始讲的)
10.jdk1.8里面interface增加了static和default方法,为什么要这么做,有什么意义
其他的问题有几个忘记了
反问:
-
您觉得本次面试我存在的问题是什么(问题回答的还行,项目有问题没回答好,可能是因为目前项目处于初级阶段,可以继续改进)
-
面试时间(3个工作日之内回应)
- 业务(开发腾讯会议相关组件,目前腾讯会议有新的技术方向(没听懂))
腾讯云智后台开发二面(腾讯会议部门 base武汉)
1.项目(深挖,基本上是面试官提出场景,然后让我解决,问题很犀利也很有价值)30min+
2.高并发环境下如何保证程序数据保存到Redis的线程安全问题
3.讲一下sychronized(从jvm指令层面开始讲,然后又讲了hotspot团队在jdk中对sychronized的优化,继续讲了偏向锁,轻量级锁,重量级锁以及偏向锁升级到轻量级锁,从轻量级锁升级到重量级锁的详细过程,后续讲了自旋锁,自适应自旋锁和锁粗化,锁消除)
4.sychornized为什么是重量级锁,从操作系统层面讲
5.从轻量级锁到重量级锁中,底层是如何判断抢夺锁的线程变多的
6.sychronized的作用,然后在聊天框出了七八道场景题(幸亏很简单)
7.volatile关键字
8.手撕设计模式(是简单地单例模式,双重检验锁模式,面试官没有难为人)
9.这个单例模式会有什么问题(答:会被序列化和反射破坏)
10.反射如何破坏,如何防止
11.volatile在单例模式的作用以及作用在哪里
12.对象是如何生成的(5个步骤,期间讲了分配内存的指针碰撞和空闲列表)
13.对象的内存布局
14.volatile具体影响的是对象生成的过程中的哪个步骤,防止指令重排序对单例模式的影响,哪个步骤
...其他的记不太清了,想起来再说吧
反问:
-
具体业务(腾讯会议,也有可能是新做的腾讯日历)
-
技术面有几面(总监有时间的话会有三面,抽不出时间就二面)
所以问的问题很多都和博客相关
比如手撕那个和sychronized)
三面5.20(1h30min)
提问了
1.jvm
2.计算机网络(https)
3.操作系统
4.mysql
5.linux(top指令中字段的含义,里面的iowait过高是什么原因?怎么处理?给我整蒙了)
6.分布式(没写也提问了)
7.十几道题目(3道逻辑题,剩下的都是程序运行题,多线程题,基础知识题)
8.手撕(旋转数组)
9.什么时候来实习,实习多长时间
里面很多题目时间太久了,记不太清了,总体感觉问的非常细,简历上的所有问题都问到了,而且问的很底层
无反问
hr面5.30(30min)
1.介绍部门
2.对前几面面试官有什么感受
3.在大学做过的最有成就感的事情
4.在学习生活中遇到的最大的挫折
5.自己学习的方式
6.自己的职业规划
7.父母信息
8.出生地
9.投递的公司很多,都投递了哪些公司
10.手里面还有没有其他offer
11.什么时候来,实习多长时间
12.介绍薪资待遇
hr面完30分钟offer过来了,效率很高