首页 > 腾讯csig一面+阿里AE一面
头像
Skyed__blue
编辑于 2021-04-18 13:02
+ 关注

腾讯csig一面+阿里AE一面

腾讯是视频面,在腾讯会议。腾讯快结束的时候阿里打了电话,于是连着面了。由于两面是连着的,很多我都忘记了,尽可能回想一些。

腾讯csig一面

没有开视频,听声音是个年轻的小哥哥,说话语速比较慢,比较温柔,感觉挺nice.

  1. 自我介绍
  2. 项目中的秒杀系统,讲一下吧(我把我做秒杀系统的思路和过程都说了一遍)
  3. 你简历上写的熟悉redis,讲一下redis和MySQL的数据一致性吧(说了失效和双写)
  4. 你这个只是大概的,详细说说(把整个流程都说了一遍)
  5. redis和MySQL一致性问题(这里不太理解他问的什么,我回答了redis和MySQL在高并发情况下只能保证最终一致性)
  6. redis缓存穿透和缓存击穿讲讲(讲了发生的情况,解决方案。前者是缓存空值或布隆过滤器,后者是加锁,本地锁或分布式锁都可)
  7. 你对其他的中间件有了解吗,比如Kafka,Docker,k8s等(答项目经验里的涉及技术那一块都实践过,ES、RabbitMQ、Seata等)
  8. Docker,k8s讲一下(回答了docker是容器,从安全性和快速部署两方面大概说了一下,k8s没了解)
  9. 接下来讲下计网,你对TCP应该挺熟悉吧(还好...),TCP把你理解的能讲多少讲多少(讲了TCP和UDP区别、数据交互过程、MSS、滑动窗口、TCP可靠传输、粘包拆包、流量控制、拥塞控制...)
  10. TCP和UDP对比(可靠不可靠,性能方面)
  11. 为什么TCP是三次握手,四次挥手(TCP全双工通信,两次挥手释放一条链接;TCP二次握手导致的资源浪费)
  12. HTTP对TCP做了哪些优化(答了HTTP如何解决TCP的粘包和拆包问题,中间顺带牵引了一下RPC协议选择)
  13. HTTP2.0了解吗(了解一点,多路复用、压缩请求头、服务推送)
  14. HTTP的状态码,1xx到5xx有哪些总结性的概括(这部分我不太熟悉,答了200、206、404、500)
  15. 谈谈操作系统吧。讲讲物理内存和虚拟内存(物理内存DRAM,虚拟内存页面置换)
  16. 进程和线程同步(进程共享内存区和信号量,线程由AQS实现的各种同步器,Mutex,事件)
  17. 讲讲死锁(讲了死锁的4个条件,死锁预防,银行家算法)
  18. 你有竞赛背景啊,那我考考你,有很多int型QQ号,有登录和未登录两个状态,如何区分它们,采用什么数据结构(这个之前在某个面经看过,在他说QQ号时我都想抢答了,但还是要装作思考一下。答既然只有两个状态,可以采用状态压缩,用bitmap存。然后引到布隆过滤器原理和对这个场景的实现)
  19. 开始介绍部门,腾讯云教育部,主要语言golang,问我转不转(我犹豫了,感觉转了比较亏,就说思考一下)

阿里AE一面

腾讯视频结束后直接就接电话开始了另一轮面试。面试官很客气(仿佛是我在面他一样 - -)听声音也挺年轻的。先是直接夸我学了那么多东西,学习能力挺强啥的(搞得我都不好意思了,万一待会把我问崩了咋办)

  1. 先简单自我介绍一下
  2. 平时怎么学习的(博客,视频,看书,把自己心路历程说了一遍)
  3. synchronized和ReentrantLock区别(底层重量级锁实现,AQS,lock源码,公平锁和非公平锁实现都答了),准备挺充分啊(可能夸我背的不错吧)
  4. synchronized和ReentrantLock有用过吗?(平时用sync,答了缓存击穿,SpringCache用的sync本地锁,算是用过吧)
  5. redis分布式锁(可能觉得我熟悉就不问了),redis集群下的数据一致性(答这方面还没开始涉及,主要是主从复制吧)
  6. 问点Java基础(这块我比较薄弱,当初备战时的漏网之鱼)
  7. Java面向对象思想(封装继承多态),解释一下(答的比较乱),项目中怎么应用面向对象思想(答项目没关注到这个,当时主要考虑整个系统的可维护性,团队协作方面)
  8. Java基本数据类型(...),int和Integer区别(答了包装类,泛型相关,没考虑到他问的重点在JVM内存分配上...)
  9. 异常和error(没听说过error,就问是不是运行时异常和非运行时异常),那讲下这两个异常(一个程序运行时抛出,一个手动抛出,提到事务默认运行时异常回滚)
  10. 提到了事务,讲讲MySQL的行锁和表锁(行锁实现,索引失效下锁的处理)
  11. MySQL查询到空值会怎么样(这个之前做过实验但忽然忘记了,答锁了全表,其实不对,没查到记录是不加锁的,唉,可惜)
  12. 回到项目,自定义注解实现鉴权整个流程细节全部讲讲(代码实现的细节全讲了一遍,里面有用到ThreadLocal)
  13. ThreadLocal(底层实现,弱引用,内存泄漏)
  14. 内存溢出排查大概讲讲(答调试过,看别人博客好像涉及到jvisualvm,jstack,dump文件什么的,我把映像中的都答了)
  15. HashMap源码,线程安全,HashMap和ConcurrentHashMap结构上的区别(不太明白结构上的区别,我答了都是数组+链表+红黑树,ConcurrentHashMap有一个sizeCtl,是实现线程安全的关键)
  16. SpringAOP的jdk动态代理(把实现过程,源码都讲了一遍),jdk动态代理怎么知道给哪个方法增强(代理类实现实际类的接口,代理类有处理对象,对每个重写的方法调用处理对象的invoke,把代理对象、方法的Method对象和参数传过去)
  17. 为什么有Spring出现(从Spring的IOC开始解释)
  18. Springboot是什么(脚手架,解决Spring的配置监狱),Springboot开启的全过程(答自动装配,目前还没涉及这方面)
  19. 反问:自己表现怎么样,如果入职需要补充哪些知识(面过的人中在我这边比较ok,补充Java基础)

总的来说问的都偏向基础,项目方面没有太深挖。估计之后的面试会在项目设计上加大力度了。

我的问题主要还是在Java基础上,这块区域很重要,我太多空白了。

更多模拟面试

全部评论

(5) 回帖
加载中...
话题 回帖

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐