找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 184|回复: 0

腾讯控股有限公司一面

[复制链接]

1288

主题

0

回帖

4008

积分

论坛元老

积分
4008
发表于 2026-5-25 16:27:12 | 显示全部楼层 |阅读模式
基本信息
  • 形式:一面采用半结构化技术面试形式,含自我介绍、项目深挖、基础知识考察、手撕代码等环节。一面是淘汰率最高的环节,面试官(直系主管或资深员工)会深挖项目细节,从代码实现一直追问到技术选型的决策逻辑。
  • 时长:约45-60分钟。自我介绍1-2分钟,项目深挖15-20分钟,基础知识问答15-20分钟,手撕代码10-15分钟。
  • 氛围:面试官技术功底深厚,会针对项目细节层层追问。一面“拷打两小时”是常态。回答需扎实、逻辑清晰、体系完整。如果手撕代码环节写不出来,大概率直接淘汰。

面试流程
网申通过 → 一面通知 → 按时参加面试 → 自我介绍 → 项目深挖 → 技术基础知识问答 → 手撕代码/算法题 → 反问环节 → 退场。
技术岗一面试题及参考回答
一、编程基础与算法题
LRU缓存机制(腾讯后台面试官10个里面有三四个会出此题)
  • 要求实现满足O(1)时间复杂度的get和put
  • 核心思路:双向链表 + 哈希表(HashMap + 双向链表)
  • 面试官追问:为什么要用双向链表?(删除节点时需要找到前驱节点,双向链表O(1),单向链表O(n))
  • 面试官追问:如果要求线程安全怎么改造?(可用ConcurrentHashMap替换HashMap,并在操作链表时加锁)

LeetCode 198 打家劫舍(动态规划,考察状态转移方程推导)
  • 核心思路:dp = max(dp[i-1], dp[i-2] + nums)。面试官追问:一维DP的O(1)空间优化怎么推?(只保留前两个状态,用两个变量滚动更新)

LeetCode 199 二叉树的右视图(BFS/DFS,考察层序遍历的应用)
  • BFS方案:每层最后一个节点加入结果集,最后返回。追问:DFS用先右后左的顺序遍历,如何保证每层只取第一个访问到的节点?

三个有序数组的交集(哈希表或多指针)
  • 哈希表法O(n+m+p),多指针法空间O(1),面试时建议先讲哈希表并分析内存,再给出多指针的“更优解”。

买卖股票的最佳时机(LeetCode 121,要求用动态规划/贪心)
  • O(n)贪心解法:遍历中维护min_price并计算max_profit
  • 进阶追问:“如果允许多次交易(LC122)或最多两次交易(LC123),dp状态怎么定义?”

Java接口和抽象类的区别,分别能不能new对象
  • 接口:只能定义常量和方法声明,不能实例化;抽象类:可包含非抽象方法,也不能直接实例化,但可以通过匿名内部类实例化(本质是子类实例)。说“不能实例化”之前先澄清“匿名内部类”这个特例,让面试官感受到你对语言细节的严谨。

多态是什么?详细介绍一下
  • 多态:同一个行为具有多个不同表现形式,通过继承和接口实现。向上转型:父类引用指向子类对象;向下转型需instanceof判断。追问:编译时多态(重载)与运行时多态(重写)的区别。

JVM运行机制与类型安全检查
  • 类加载过程(加载→验证→准备→解析→初始化),字节码验证中的类型安全检查(operand stack类型匹配)。一道追问就可以延伸到方法区/堆/栈的数据分布,建议提前准备单条回答覆盖多层。

设计模式了解哪些? 答:单例模式(枚举实现)、工厂模式、观察者模式(Spring事件监听)、代理模式(JDK动态代理 vs CGLIB)。若提到装饰者模式,主动以Java IO流为例解释“包装类”机制,容易引发后续代码题。举例说明具体使用场景。

二、操作系统与计算机网络题
键入一个域名,整体怎么流转的(要很详细)
  • 答:浏览器缓存→操作系统Hosts→本地DNS服务器→根DNS→TLD→权威DNS→递归查询返回IP。每一步都要精确描述(DNS缓存层级、递归/迭代)。腾讯一面这道题的高频追问包括:DNS使用的是TCP还是UDP?(答:请求通常用UDP,超过512字节或区域传输用TCP)

HTTP/HTTPS区别与粘包问题:HTTP无状态,HTTPS加了SSL/TLS;粘包问题可通过固定长度、特殊分隔符或基于消息头Length字段解决。
TCP四次挥手,为什么等待2MSL :2MSL是为了保证最后一个ACK报文能被对端收到,避免新旧连接混淆。
拥塞控制算法(慢开始、拥塞避免、快重传、快恢复) 。追问:“慢开始前期是指数型增长还是线性增长?”(指数型增长,每经过一个RTT,拥塞窗口翻倍)

三、数据库与Redis题
MySQL两种存储引擎区别 :MyISAM表级锁、不支持事务;InnoDB行级锁、支持事务。追问:如果大量增删操作应该选哪个?(InnoDB,行锁比表锁并发性好,支持MVCC多版本并发控制)
索引类型与聚集索引/二级索引 。追问“当二级索引查出的数据分布在多个数据页时,比主键索引多花费几次IO?”(每一条二级索引命中都要回一次主表,100条命中就可能多100次随机IO)
Redis分布式锁 。Redis主从架构下主节点宕机数据未同步,锁可能丢失。解决方法:Redlock算法(多节点多数派加锁)进一步提问“raft协议为什么n/2+1认为ok?”(保证多数派确认,满足Quorum机制)
Redis大Key的影响 :大Key导致慢查询、网络阻塞、集群数据倾斜。追问“为什么会导致执行速度慢?”(Redis单线程,处理大Key时会阻塞其他命令)

四、项目深挖题
“高并发秒杀系统”项目(STAR法则)
  • 背景:双11秒杀系统面临10万QPS流量
  • 任务:库存扣减方案重构
  • 动作:引入Redis Lua脚本预扣减 + RocketMQ异步削峰 + 数据库最终一致性方案
  • 结果:响应时间从500ms降至50ms,零超卖
  • 追问:Lua脚本如何保证原子性?Redis单线程模型,执行Lua脚本期间不处理其他命令

“这个项目有正式用户使用吗?为什么没有上线?” 面试官考察项目真实性和工程落地能力。回答模板:“该项目目前在公司内部X个部门小范围试点,日活约X,因为XX原因未全量放开。我从中沉淀了XX技术方案,总结的XX指标已用于XX新项目迭代。”

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|知行公社 ( 粤ICP备2020096454号 )

GMT+8, 2026-9-6 03:01 , Processed in 0.058830 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表