腾讯QQ-26届暑期实习-后台开发一面面经

这是我第一次参加大厂面试,真的非常紧张。面试官一开始让我自我介绍,我太紧张,只简单说了一句“我是xx学校大三软件工程专业的学生”,没有提到我的项目和获奖经历,感觉这部分就答得不太好了

八股:

  1. 主推语言
  2. Java
  3. MySQL的索引类型
  4. 我提到了主键索引、普通索引、唯一索引、全文索引,并简单介绍了索引的工作方式。
  5. MySQL常见的存储引擎
  6. 我提到了InnoDB,并介绍了其机制。
  7. InnoDB的底层数据结构
  8. 我回答是B+树,并解释了B+树的结构。
  9. 为什么不用 B 树
  10. 我解释了B+树相对于B树的优点,特别是磁盘读写性能更高。
  11. B+树在范围查找中的性能优势
  12. B+树的叶子节点通过指针相连形成有序链表,使范围查找更高效
  13. Java中的集合
  14. 从Collection和Map两方面介绍
  15. HashMap的线程安全性
  16. 我回答HashMap不是线程安全的,并提到ConcurrentHashMap是线程安全的。
  17. ConcurrentHashMap如何保证线程安全
  18. 我解释了ConcurrentHashMap使用了分段锁机制。
  19. ConcurrentHashMap与synchronizedMap的性能比较
  20. 不知道
  21. HashMap如何解决冲突
  22. 我详细解释了拉链法解决哈希冲突,并提到哈希表变大后会转为红黑树存储。
  23. 其他解决哈希冲突的方式
  24. 我想到了线性探测法,但无法详细说明
  25. Redis常用的数据结构
  26. String、Set、List和Sorted Set
  27. Sorted Set的底层数据结构
  28. 我提到了跳表和压缩链表,但无法详细解释压缩链表的实现。
  29. Redis的持久化机制
  30. 我提到了RDB持久化和AOF持久化。
  31. TCP和UDP
  32. TCP的三次握手和四次挥手,以及UDP的传输速度快但不可靠
  33. TCP的头部结构
  34. 我按顺序解释了TCP头部存储的不同参数。
  35. TCP头部中的校验和占多少位
  36. 我回答是16位。
  37. HTTP中的403错误码
  38. 我解释了403错误码表示禁止访问,服务器拒绝客户端的请求,可能是权限或资源问题。

算法:

面试官让我在自己的IDE上写代码。要求在15分钟内完成快速排序和二叉树的中序遍历(要求用迭代法)

  • 快速排序:直接写代码
  • 快排是否稳定:我回答不稳定。
  • 快排不稳定的原因:我解释了快排依赖于交换操作,可能导致相等元素的相对位置发生变化。稳定的排序算法:我提到了冒泡排序、插入排序和归并排序。
  • 二叉树中序遍历:直接写代码,用栈模拟递归过程,首先将根节点及其左子节点依次入栈,直到左节点为空,然后弹出栈顶节点,再将右子节点作为新的根节点,重复这个过程

在这里插一句,山羊算法后端训练营的算法课程真的帮了我大忙!像快速排序和二叉树遍历这类题目,训练营里都有详细的讲解和真题训练,尤其是迭代法中序遍历,课上讲得非常透彻,让我在面试中能够快速理清思路。而且训练营的老师们还会根据大厂常考的算法题进行专项突破,真的是面试前的“救命稻草”!

总结

这次面试虽然紧张,但整体表现还算不错。面试官问了很多关于Java集合、MySQL、Redis、TCP/UDP以及算法的问题,涵盖了后台开发的多个核心知识点。 对了,训练营最近还推出了模拟面试服务,由大厂在职工程师亲自模拟面试,帮你提前熟悉面试流程,找到自己的薄弱点。像我这次面试前就参加了一次模拟面试,真的让我在实战中少踩了很多坑!在面试中想做到游刃有余的话,可以试试这个服务,绝对物超所值!

#暑期实习##计算机##后端开发##Java##腾讯#
全部评论
mark
1 回复 分享
发布于 03-24 16:03 广东

相关推荐

评论
4
4
分享

创作者周榜

更多
牛客网
牛客企业服务