Skip to content

腾讯的面试,强度拉满!

先来唠唠

今天分享一位同学的腾讯面经,面试的强度还是比较大。

很多八股都是逐渐深入的方式来问,所以大家在学习的过程中,针对一些重点的内容,最好深入去学习,不然还是比较难应对这种追问式的问题。

接下来我们看看他的面经。

PDD 一面/Java

MySQL

  • 索引下推、索引覆盖
  • 最左前缀原则
  • join原理实现
  • 索引设计讲究/原则
  • 使用null作为条件查询问题
  • 聚簇索引
  • InnoDB为什么建议用自增整数作为主键
  • MySQL内存磁盘同步机制
  • 数据页在内存中是完整的数据吗?
  • 分库分表
  • MySQL主从架构
  • 怎样用?什么情况使用
  • 数据同步怎么实现
  • MySQL什么时候会死锁
  • 提交了怎么样的事务有可能导致死锁
  • 表中有业务主键、逻辑删除标志,逻辑删除后又插入同样的一条记录,平衡业务主键和逻辑删除的问题

项目工程

  • 设计模式(工程上使用)
  • 单体应用多层异常处理原则(异常管理原则)
  • Redis、MySQL配合使用,如何确保数据一致性
  • 项目介绍
  • 业务背景
    • 如何进行数据持久化
  • 系统QPS
    • 哪一部分占比较高
  • 项目中算法如何使用
  • 项目中的架构设计有何问题
    • 如何重新设计MySQL、Redis架构
  • 业务修改后 MySQL、Redis数据如何更新
  • 系统故障问题、如何解决
  • 服务器部署情况
  • 代码迭代过程中防止代码腐化
  • 关注的业务指标

腾讯互娱 一面/Go

  • Go的接口作用,用处,实现
  • 空struct用途,会不会分配内存
  • Go原生支持默认参数或可选参数吗,如何实现
    • 可变长参数
  • Go defer执行顺序
  • 协程,协程间信息如何同步
    • 和传统线程相比有何优势,为何更好
  • Go GMP
    • GM
      • 性能开销大原因
    • GMP
    • go生成一个协程,此时放在P中还是M中
    • G阻塞,M、P如何
  • 操作系统中大端编码、小端编码
  • TCP、UDP
    • 三次握手、四次挥手
    • 为什么挥手是四次,会不会合并
    • 流量控制
  • Redis项目中使用(主数据库还是缓存)
  • Redis与MySQL数据如何同步
  • MySQL索引建立原则
  • Explain,字段
  • Redis持久化方式
  • Redis过期删除策略
  • Redis高可用设计
    • 主从复制方式,模式
  • kafka业务使用
  • Redis常用数据结构
    • zset使用场景,具体实现
  • 部署方式,k8s部署(相关概念)
  • Go性能优化方式
    • 请求耗时过长,有无使用到链路观测
  • 单链表判断有没有环
  • 玩家积分排序topN实现算法
  • 项目中遇到