腾讯golang社招面经
一面:
1.go的调度
2.go struct能不能比较?
3.go defer(for defer)
4.select可以用于什么?
5.context包的用途?
6.client如何实现长连接?
7.主协程如何等其余协程完再操作
8.slice,len,cap,共享,扩容
9.map如何顺序读取?
10.实现set
11.实现消息队列(多生产者,多消费者)
12.大文件排序
13.基本排序,哪些是稳定的
14.http get跟head
15.http 401,403
16.http keep-alive
17.http能不能一次连接多次请求,不等后端返回
18.tcp与udp区别,udp优点,适用场景
19.time-wait的作用
20.数据库如何建索引
21.孤儿进程,僵尸进程
22.死锁条件,如何避免
23.linux命令,查看端口占用,cpu负载,内存占用,如何发送信号给一个进程
24.git文件版本,使用顺序,merge跟rebase
二面:
1.项目实现爬虫的流程
2.爬虫如何做的鉴权吗?
3.怎么实现的分布式爬虫
4.电商系统图片多会造成带宽过高,如何解决?
5.micro服务发现
6.mysql底层有哪几种实现方式
7.channel底层实现
8.java nio和go 区别
9.读写锁底层是怎么实现的?
10.go-micro 微服务架构怎么实现水平部署的,代码怎么实现?
11.micro怎么用
12.怎么做服务发现的
13.mysql索引为什么要用B+树?
14.mysql语句性能评测?
15.服务发现有哪些机制
16.raft算法是那种一致性算法
17.raft有什么特点
18.当go服务部署到线上了,发现有内存泄露,该怎么处理
19还有一些非常底层的问题
#腾讯##golang工程师##社招##面经#