腾讯面经回忆版

这段闲暇时间想写一写面经希望可以帮助到大家!!!!

下面的面经是根据回忆来写的,有些不是很全。

财经线一面:

Java中线程池参数,动态线程池的实现方式。

synchronized关键字锁原理,和reentrantLock的区别。

上面说到了reentrantLock使用AQS实现,说一说AQS的原理。

短链接中短链码是怎么生成的。

知不知道hashCode方法中hash码是怎么生成的。(不知到)

如果让你来设计一个hash码生成方法,你会怎么考虑。

算法题:十个有序大文件合并成一个文件,其中的元素仍然有序(归并 + 败者树)

财经线二面:

深挖项目半小时。。。

是怎么会考虑选择淘券这种项目的(巴拉巴拉扯了一大堆,但是面试官好像不太满意)

如果我们想在你项目最高承载的qps基础上还要提高十倍,你会怎么做?

算法:最长无重复字串 + 优先级括号匹配

财经线三面:闲聊

两天后流程结束。。。。

TEG某安全部门

一面:

项目闲聊了十分钟(感觉面试官不太感兴趣)

操作系统八股:线程安全方式,进程通信方式、死锁的相关问题、虚拟内存的作用。

如果让你来设计一个简单的操作系统,你会从那几个方面来考虑。。。

算法:最大和子数组(我用前缀和做的,不过最优解应该是dp来做)

二面:

算法:k个反转 + 归并排序

一场酣畅淋漓的项目面试(全程70分钟,全在问项目)

二面总体下来对我的帮助很大,面试官看的出来应该是ld。

WXG搜索团队:

当时看到WXG捞我感觉挺意外的,但是也没有抱太多期待。

一面:

上来二话不说三道算法:k个反转 + 股票交易(买卖两笔股票的最大收益) + 最长有效括号长度

算法强度拉满,记得写了快四十分钟了。

算法写完自我介绍都没有就直接问问题

简单问了几个操作系统的八股:

什么是内核态和用户态

操作系统是怎么来实现这两者之间的切换的(这个还真不太清楚,只知道好像是修改psw中某个标志位吧)

pcb了解吗

pcb中有哪些属性

结束,最后反问阶段直到这个部门是做C++的,于是不报希望了,第二天流程结束。。。

IEG-某国际部门

一面:

反射的概念。

spring中哪些地方用到了反射。

泛型的概念和作用。

Java程序的执行步骤

jvm的作用。

jvm的垃圾回收算法。

gc垃圾回收器的垃圾回收流程

知道full gc吗?

什么时候会触发full gc

知道三色标记法码?

算法:统计数组中出现频率前k的元素 + LRU

当时感觉答得也可以,但是还是挂了。。。

腾讯视频

一面:

比较特别的一场面试。

面试官对我的论文感兴趣,和我讨论了半小时的论文,但是面试官好像不太懂强化学习,我还花了十分钟和他解释了,他听完之后连说了好好好,说我的解释很通俗易懂(哈哈哈)。

然后又谈到了区块链中怎么挖矿的,知道哪些共识协议。

算法:给你一个0-5的随机数生成器,写一个0-7的随机数生成器(用java和python写两遍)

智力题:有两个鸡蛋,一百层楼,如何尽可能少的尝试次数找出鸡蛋破碎的临界楼层

后续面试有时间再补上

#腾讯面经#
全部评论

相关推荐

04-20 08:14
门头沟学院 Java
TEG一面2.261. JVM内存结构及其作用2.OOM在哪出现,怎么解决3.怎么判断要不要GC,哪些对象要被GC4.哪些对象可以作为GCroots5.redis性能为什么这么高6. redis持久化7.持久化怎么保证数据不丢失8.redis集群9.SpringBoot的结构10.项目11.延迟队列怎么实现,自己写一个怎么实现12.手撕:最长递增子序列TEG二面3.41. 介绍项目2. 你对微服务架构的理解是什么3. 既然微服务是对一个单体项目的拆分,那直接把每一个接口拆成一个服务是不是更好4. 说到远程调用比本地代码调用更消耗性能,那么把一组微服务部署在一起通过本地的远程调用,不涉及到不同实例上远程调用的网络开销,这样能不能解决这个问题5. 一台服务器上不同的两个进程之间的网络调用,按照网络的七层结构来说,这个请求会不会走到网卡,然后通过收发包回到那个进程6. 一个进程给另一个进程发请求,但是其实并不知道另一个进程是部署在本地还是在远端。那操作系统怎么知道这个请求什么时候走网卡发送,什么时候不走网卡7. 如果redis性能不是问题,抗几十万几百万的并发都行,那么redis还有没有什么其他问题(提示热key问题)8. redis里存什么,数据库里存什么。如果redis里和数据库中存的是一样的,那么是不是就不需要数据库都行9. 如果全部在redis中进行操作,那么数据不一致的时候redis挂了,那么不就出问题了吗 10. 进程、线程、协程11. 进程的内存结构大概什么样的、低地址高地址是怎么分布的。12. 进程通信的方式13. 各种方式能适用于哪种场景14. 假如说开了一块共享内存大概是3个g,有两个进程都把它挂上去了这个共享内存占不占用本机进程的内存空间(就是说假如本身有4g,那么挂上这块共享内存之后是不是本身进程就相当于到了7g,提示共享内存底层的实现机制)15. 如果不使用框架,自己来实现一个服务器来接受请求,要做哪些事才行(想问sokect编程里的服务器端要能收客户端的请求要做哪些事)TEG三面3.51. 高并发场景中用到了事务吗2. 常见的事务有不同的模式组合,用于异构的分布式系统的数据一致性问题,有哪几种常见的模型(分布式事务的两阶段和三阶段)3. rabbitmq中怎么处理消息堆积问题4. redis中的热key和大key问题5. 如果将热key拆分到不同redis实例中,那不同实例之间的数据同步怎么解决(怎么保证数据在多个实例中的一致性)6. 如果只有1%的key是热key,其他的不是热key。热key的请求量是非热key的几十倍。那么用主从的方式怎么去平衡成本7. mysql是通过什么方式去解决主从同步的8. binlog日志像事务类的操作有回滚之类的各种情况,那么怎么解决同步的从节点也能够在一段时间内保持最终的一致性(事务的主从同步是怎么做的)9. 假设数据库的主节点出了问题,那么怎么把流量迁移到从节点回答选举新的主节点,但是面试官说在做数据同步的时候,主节点挂了会导致数据丢失问题10. 自己设计一个哈希表的类要怎么构建11. 假设内存大小固定为1M,那么要怎么做。怎么在内存有限的情况下保证扩展性和安全性12. 构造一个递归的使用场景,递归怎么转换为迭代13. 将一个Java的源代码,编译成一个可执行的文件,整个编译过程是怎么做的14. 接口和类的分别在哪些场景下使用15. 用类的方式去实现一个单例,要怎么做16. 观察者模式的应用场景TEG一面3.141. 介绍项目2. Redisson分布式锁是怎么实现的,Rdisson具体的加锁过程有了解过吗3.在Redisson可重入的场景下,当前线程没有去解锁。然后这个线程复用了,那么会不会重复的获取到这个锁,或者说意外释放4. redis是单线程还是多线程5. 说下Java集合的继承结构6. 常用的集合有哪些,分别适用那种场景7. hashmap是线程安全的吗8. 多线程环境下hashmap除了put时候的数据覆盖问题还有什么问题9. Java中停止一个线程的话一般怎么停止(怎么让一个线程挂掉或者说阻塞起来)10. 如果一个线程一直在跑,想让它停止掉怎么处理(完全停止)11. 锁升级的过程12. 为什么这么设计13. MySQL中设计索引的话要考虑哪些问题、14. 介绍一下布隆过滤器,以及其原理15. 布隆过滤器有没有什么局限的地方16. Springboot的自动装配17. Spring中两个比较大的特性是什么18. AOP是怎么做到的19. IoC控制反转,反转的是什么东西20. Bean的生命周期21. JVM中的OOM大多可能发生在区域22. 怎么避免出现OOM23. 对象在堆区的晋升机制24.一般在做开发的时候对一些异常是怎么处理的25. 什么情况下Bean对象会注入失败TEG二面忘了
点赞 评论 收藏
分享
04-19 20:49
已编辑
厦门大学 Java
近期我看到很多同学私信我要TEG面经,一个个发比较麻烦,我比较懒,就统一发出来吧,哈哈。问的很多问题是和我简历上写的东西,所以具体问的内容还是得看简历,每个人可能都不太一样,简历上的东西大家一定要过熟。一面(1h):1. 自我介绍2. ThreadLocal底层原理3. ThreadLocal什么时候会发生内存泄漏4. ThreadLocal怎么清理5. 用过ThreadLocal吗,什么场景6. 上下文可以传递的ThreadLocal怎么设计的7. 设计有参考一些类似的开源的框架吗8. Java内存泄漏怎么排查9. 看到了数据区大小之后进一步要怎么做10. 哪些情况容易造成内存泄漏11. 缓存没有及时的清理,比如使用一个Map进行本地缓存,然后对于过期对象没有及时清理,我在项目中使用的Caffeine其中一个主要目的就是它能够自动清理过期的数据12. 资源或者连接没有及时关闭13. 使用集合装对象的时候,对象没有重写hashCode和equals导致无法移除对象14. 数据库事务隔离级别15. 各种隔离级别的特点16. MySQL如何进行数据同步17. binlog存了什么东西18. JVM判断对象是垃圾的方法19. JVM内存模型20. 为什么要用Dubbo21. Dubbo和Http的调用底层区别    1. Dubbo支持长连接复用    2. Dubbo的数据格式更加紧凑    3. Dubbo的数据序列化方式更加高效22. Dubbo怎么基于Netty实现同步和异步连接的转化?    1. 把Netty的NIO事件驱动模型和业务线程池解耦    2. 通过CompleteableFuture进行接口回调管理异步结果23. 有没有测试Dubbo和Feign进行性能测试    1. 本地测试差了大概十倍24. 分库分表怎么做的25. 分表数量和原因26. 怎么用用户id查订单不发生全路由27. 如果想通过商品查订单要怎么查28. 多表情况怎么保证一致性29. Redis的持久化机制30. 预热缓存是什么31. 余票信息是保存在哪里的32. 如何保证票不超卖33. 限流是用的什么方案34. 能实习什么时候到35. 算法:LRU36. 反问业务37. 反问实习生品质二面(两个面试官,混合双打1h):1. 自我介绍2. 基因法是做什么的3. 如何根据时间去查询订单4. 布隆过滤器相关    - 与位图的区别    - 长度和hash函数的设置方法5. Elasticsearch相关    - 存储的信息内容    - 深分页问题    - 延时可能的原因6. 缓存使用    - 缓存使用方式    - 本地缓存和Redis的一致性    - 误判如何处理    - 本地缓存内存占用值7. Redisson相关    - 选择原因    - 看门狗自动续期失败情况    - 看门狗时间设置不合理的影响8. 消息队列    - 异步生成订单的使用    - 消息消费失败的解决方案9. 限流实现    - 限流算法实现方式    - 区分正常请求和恶意请求10. 并发问题验证情况11. 大模型相关    - 了解大模型的影响    - 大模型的技术12. 学生会经历    - 参加收获    - 分工不明确的处理方式13. 代码评审14. 后端其他框架了解15. 对大模型发展的看法和焦虑16. 场景题:设计微博信息流三面(30min,又问微博,不知道是巧合还是故意的):1. 自我介绍2. 负载均衡的策略3. 哈希路由(优化)4. 一致性协议5. 文件拷贝技术6. 项目中的技术难点7. TCP和UDP的区别8. 应用层要怎么对UDP进行优化9. 场景题:基于UDP的语音通话,丢包怎么兜底10. 场景题:设计微博Feed流11. RPC框架的高性能实现12. 最近比较感兴趣的点是什么13. 写代码的时候少出bug或者是性能保证14. 学习新技术的方式HR面(20min):1. 升学规划2. 介绍有比较挑战性的任务3. 自己给项目打分4. 还有值得哪些改进的地方5. 你对于本部门要做的东西了解吗6. 过往的项目对于实习有什么帮助7. 过往有没有挑战性的目标8. 介绍:围绕code进行开发、八月底/九月初进行答辩9. 其他公司的面试情况10. 反问:技术栈c++、java
点赞 评论 收藏
分享
评论
2
6
分享

创作者周榜

更多
牛客网
牛客企业服务