2020 腾讯社招Golang后端面试经验分享

file

技术一面 基础面试

一面是经过电话直接沟通java

  • go的调度
  • go struct能不能比较
  • go defer(for defer)
  • select能够用于什么
  • context包的用途
  • client如何实现长链接
  • 主协程如何等其他协程完再操做
  • slice,len,cap,共享,扩容
  • map如何顺序读取
  • 实现set
  • 实现消息队列(多生产者,多消费者)
  • 大文件排序
  • 基本排序,哪些是稳定的
  • http get跟head
  • http 401,403
  • http keep-alive
  • http能不能一次链接屡次请求,不等后端返回
  • tcp与udp区别,udp优势,适用场景
  • time-wait的做用
  • 数据库如何建索引
  • 孤儿进程,僵尸进程
  • 死锁条件,如何避免
  • linux命令,查看端口占用,cpu负载,内存占用,如何发送信号给一个进程
  • git文件版本,使用顺序,merge跟rebase
技术二面 项目相关

经过腾讯会议,腾讯的两个大佬一块儿面试mysql

  • 项目实现爬虫的流程
  • 爬虫如何作的鉴权吗
  • 怎么实现的分布式爬虫
  • 电商系统图片多会形成带宽太高,如何解决
  • micro服务发现
  • mysql底层有哪几种实现方式
  • channel底层实现
  • java nio和go 区别
  • 读写锁底层是怎么实现的
  • go-micro 微服务架构怎么实现水平部署的,代码怎么实现
  • micro怎么用
  • 怎么作服务发现的
  • mysql索引为何要用B+树?
  • mysql语句性能评测?
  • 服务发现有哪些机制
  • raft算法是那种一致性算法
  • raft有什么特色
  • 当go服务部署到线上了,发现有内存泄露,该怎么处理
  • 还有一些很是底层的问题

总结

  1. 腾讯对于基础部分是至关重视的,整体回答的还算能够
  2. 项目部分腾讯也是很是重视,从电话里面听出来有一个架构在面试我...
  3. 经过面试发现了本身的不少问题,仍是要多多总结 公众号