腾讯CDG一面面经

一面:简历项目介绍一下项目内容怎么用定时任务调度解决分布式事务问题缓存穿透、雪崩、击穿是什么为什么要用消息队列,rabbitmq相比其他消息队列有什么特点java异常了解吗synchronized锁的实现(猜测问的是锁升级)多线程了解吗(猜测问的是实现方式)java内存模型是什么gc了解吗(猜测问的是死亡对象判断、垃圾收集)操作系统linux如何查看文件前5行(head -n 5 filename)cpu满载如何排查问题孤儿进程和僵尸进程进程、线程和协程的区别和作用进程通信方式动态链接和静态链接的区别数据库mysql底层数据结构了解吗(B+树)怎么选择主键左连接和右连接的区别redis底层数据结构(猜测问的是键值对和8种数据结构)redis单线程了解吗计网三次握手和四次挥手过程为什么TIME_WAIT要等待2MSL多路复用了解吗客户端从输入网址到显示网页内容经历的过程(解析域名、建立连接、请求与回应、解析网页)其他RPC了解么手撕算法LRU缓存给定一个数组,求和最大的连续子数组(前缀和+哈希表)反问:能过的话什么时候二面二面:简历项目介绍一下项目内容Spring Security+JWT实现用户认证的原理是什么怎么基于RBAC分配用户权限用户-角色-权限的方式来分配权限有什么缺点(为用户分配权限必须创建角色,可以通过用户-权限方式来解决)怎么用定时任务调度解决分布式事务问题还了解多少分布式事务解决方案javajava内存区域是什么局部变量和对象分别存储在哪里垃圾收集算法有哪些垃圾收集器有哪些,介绍一个熟悉的从写完一段java代码到执行经历了什么,类加载过程(双亲委派模型)Spring介绍下Spring核心原理(IoC和AOP)如果自己写一个IoC框架,核心方法是什么(答了HashMap存储Bean对象)提问:愿意转c++吗,有没有困难闲聊:问了英语成绩、文体竞赛、个人生活等,感觉像hr面会聊的问题
全部评论

相关推荐

字节客户端,流转番茄、剪映、抖音、飞书等多个部门,历经十三次面试,终于拿下。前六面面经见上篇,记录下后续面经:七面(1h45min)1. 自我介绍2. 实习项目3. 介绍下实习的项目架构4. 讲讲对Compose声明式的理解5. java强引用和弱引用的区别6. 还有其他引用类型吗7. ThreadLocal8. 你平常有什么遇到的ThreadLocal的应用场景9. java集合类型(介绍各种集合,吟唱List、Map、Set)10. 集合多线程访问数据竞争问题怎么解决11. synchronized的用法12. LeakCanary检测内存泄漏的机制13. MVVM、MVP、MVC三种架构的区别14. 算法:搜索旋转排序数组总结:知识点知识面掌握挺不错的,基础知识的细节也了解得比较清楚,实习经历对于一个还没毕业的本科生来说还是不错的。过八面(1h)1. 项目拷打2. 不使用ksp开发的监测组件有什么办法定位Compose组件执行耗时3. LeakCanary原理机制4. OKHttp和Retrofit设计模式(答了七八个主要的)5. 责任链好处是什么6. 包大小优化措施,提升了哪些性能7. 线程和协程的区别8. 鸿蒙调用cpp是怎么做的9. 了解什么跨端框架10. flutter为什么比原生慢11. flutter和react native在渲染机制上的区别是什么(自绘引擎独立绘制和原生组件映射)12. kmp是怎么实现跨端的(逻辑层统一编写,UI等原生层各自实现)13. view事件分发cancel事件什么情况会触发14. view事件分发流程15. Binder机制16. lc.215 数组中第k个最大元素(要求先讲几种不同方法,再实现代码最复杂那个)(1) 直接排序 O(nlogn)(2) 优先队列(最小堆)O(logn)(3) 快速选择 O(n) 写这个的代码总结:没什么问题,秒过,进入hr面(最后倒在审批,原因是手头的offer不够多很难争取)九面(hr面45min)压力很大,像是在面技术面1. 自我介绍2. 为什么选择就业而不是考研3. 工作室有什么项目需要做4. 项目为什么做了一年(业余时间开发)5. 项目的动机、背景6. 还在实习吗(转正离职了)7. 挑一个实习工作讲一下背景和做了哪些事情8. 技术优化是谁提出来的,leader提出的还是自己找到的9. 做完需求的成长和进步体现在哪里10. 独立开发sdk提效是谁给你的建议吗11. 除了技术问题还有遇到其他困难吗(联调沟通)12. 一开始不使用联调的原因是什么,打乱工作节奏吗13. 做好一个程序员,除了技术上扎实,还需要基本什么样的素质和能力14. 沟通上有什么心得,可以提高工作效率15. 有遇到矛盾和分歧吗,怎么解决的16. 在团队中工作影响你产出的阻碍和困扰有什么17. 新的UI框架你是花多久学清楚的18. mentor对你的评价是什么19. 组内几个实习生,都转正通过了吗20. 和其他实习生相比你的优势在哪里(来得早,知识面多)21. 你有想过未来规划怎么样长期保持自己的优势吗(自驱力,持续学习)22. 跨端方面你觉得哪家公司做得比较好(腾讯视频)23. 你们组的跨端方案跟腾讯视频比有什么差距吗24. 对字节校招面试的感受是怎么样的25.  你是从其他部门流转过来抖音搜索的,对该部门面试的感受是什么26. 有反思该部门二面没通过的原因吗27. 会有失落和挫折的感受吗28. 怎么排解失落的心情29. 现在手头有哪些offer30. 看你也投了其他非互联网公司,对发展的不同方向有倾向性吗审批一周还是倒下了,流转其他部门,后续免hr面后面的面试不怎么问八股了,更多是项目、场景、智力题十面(30min)1. 自我介绍2. 有了解鸿蒙如何与Kotlin通信吗3. Compose对比常规view的优势是什么4. Compose局部重组的原理,标脏机制5. 对最近比较火的ai编程工具有了解吗,像claude这些6. 了解ai编程的原理吗7. 现在还在实习吗8. 什么时候接触安卓的?写过ios,前端吗9. 你会怎么快速上手ios10. 编码算法就不考察了,之前面试都写出来了11. 为啥有微信offer还面其他的总结:从二面开始,通过了就是三面,大概率也不考算法。过十一面(1h)1. 自我介绍2. 实习介绍3. Compose局部重组是怎么实现的4. ai工具你是怎么用的5. 有没有用过claude code、cursor(需要付费,没用过)6. agent是怎么实现的,工作原理是什么7. 你觉得自己比同阶段的同学优势在哪里8. 最近在学什么9. 最近比较感兴趣并且学得深一点的是什么10. Compose什么时候会跳过重组11. 自己后面有什么规划吗12. Compose组件封装得更通用有什么思路吗13. 组件点击事件的响应是怎么扩展的14. 9枚硬币有一枚是假的,假硬币会轻一点,有一个天平,最少称几次可以找到假硬币15. 100层楼,有两个瓶子,怎么扔,最坏情况下扔几次可以用最少次数找到瓶子会不会碎的临界楼层(想了几种方案最终只优化到18次的最坏情况)16. 为什么apk体积比较小了还要优化17. apk优化方案总结:客户端经验很丰富,ai了解不够多。一周后挂十二面(1h)1. 自我介绍2. 实习亮点介绍3. 跨端方案的背景4. 跨端方案很多,为什么使用c++?写起来方便吗?5. java和c++是怎么通信的6. 还了解哪些其他跨端技术7. 怎么判断哪些代码可以下沉到逻辑复用层8. 在跨端过程中你做了哪些9. 举个例子说明哪些代码放在原生层,哪些代码放在复用层10. 底层数据发生变化是怎么通知上层的?数据驱动是怎么做的11. 原生层的viewmodel和底层的viewmodel的区别是什么12. 使用什么手段可以主动发现线上的性能问题(流水线)13. MVVM的设计思路是什么,和传统MVC、MVP的区别14. LiveData相对于传统观察者模式有什么优势(生命周期集成)15. 性能优化的整体思路是什么16. 优化的收益怎么衡量17. 怎么分组快速发现新改动的性能问题(AB实验)18. 安卓内存泄漏的场景19. kotlin协程的理解20. 多线程读取数据可能会有哪些问题,可以通过什么方式避免21. 100瓶水,有1瓶是毒药,喝了1天后会毒发,最少多少只小白鼠和最短几天可以测出来(二进制编码)22. 之前考了很多笔试了,就不考了,开始反问依然是从二面开始。过十三面(1h10min)1. 自我介绍2. 实习介绍3. 介绍几个技术上挑战比较大的,提升比较多的4. 介绍下java和c++通信的细节5. 数据转换有性能上的问题吗6. C++和Kotlin/Java的差异有哪些7. SQLite使用有遇到存储和删减导致数据库文件庞大的情况吗8. 数据库索引是怎么提高查询速度的,原理是什么9. 除了xml解析还有没有看过其他三方库的源码10. okhttp的架构是怎么设计的,有哪些印象深刻的设计,哪些觉得设计得不够好的11. 场景:微信朋友圈滑动卡顿,会怎么分析12. 卡顿是由于什么引起的13. 图片加载过多为什么会引起卡顿(频繁gc)14. 怎么解决频繁gc的卡顿问题15. 设计一个图片缓存库,会怎么设计(三级缓存)16. 不同尺寸、分辨率的图片怎么标识(key怎么设计)17. 不同尺寸的同一张图片怎么关联起来18. 内存缓存图片的淘汰思路19. 图片在磁盘的存储思路(包括图片命名,文件夹命名,图片查找策略等等)20. 图片在磁盘的淘汰策略(包括使用频率记录方法、关联其他图片、删除方法、直接删一半空间的策略等等)最后的场景被拷打麻了。。。已经不知道自己是谁了最终等了一周还是通过了。谨以此贴记录字节面试经历,也希望能带给后来人一些参考
字节求职进展汇总
点赞 评论 收藏
分享
11-25 12:25
门头沟学院 Java
1、项目介绍2、new一个hashmap和new一个hashmap(16)在底层执行时,空间分配上有什么不同吗3、hashmap是线程安全的吗,多线程时,举例说明在什么条件下会出现死循环4、多线程在扩容时,会发生线程之间相互覆盖的现象吗5、现在让你选择一个性能比较好的线程安全的hashmap,你会选择哪个6、你刚刚提到说读不加锁,那如何保证不脏读呢,如何保证可见性呢7、加了可见性的话,对性能有影响吗8、concurrenthashmap如何保证扩容时的线程安全9、现在让你设计一个线程安全的list,用来存储配置数据,读多写少,你会选择什么样的list(用已有的,或者改造一个list)10、如果读写比一样呢,读多写也多的情况11、你提到用CAS,CAS一定好过锁吗12、你说加细粒度的锁,能细到什么程度,如果我要给链表尾插入数据如何加锁,在链表头插入数据如果加锁13、b+树做索引的优势14、怎么判断是不是用的我们设计的索引15、索引失效16、你说到数据量比较少的情况下会全表扫描,那数据库如何判断数据的多少从而决定索引方式呢17、你用的引擎是行存还是列存,他们分别的优劣势18、讲实习,你的压缩线程如果挂了怎么办,有没有做一些线程的状态的监控19、手撕:快排20、复杂度是多少21、最坏复杂度在什么场景下出现,我们可以如何优化这种场景22、有了解过jdk本身的sort排序吗23、快排和其他排序比起来有什么优势吗,是稳定排序吗24、闲聊、反问
查看23道真题和解析
点赞 评论 收藏
分享
评论
1
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务