面试公司:
顺丰1,2面
唱吧1,2,3面
知乎1,2,3面
momenta1,2面
微软1面
字节1,2面
虾皮1面
滴滴国际化增值1面
滴滴出行1面
云账户1,2面
特斯拉笔试
老虎证券1面
算法汇总一下,有的也不知道是那个部门的题
1:无重复字符串(3次)
2:三数之和
3:k数之和
4:链表第k处到n处反转
5:链表k个一组反转(每隔2个反转一次)
6:判断是否是相交链表,求头结点到相交处的节点数
具体面试题:(只记得有印象的)
老虎证券:
1:resetful是什么,和http有什么关系
2:算法:无重复字符串
特斯拉笔试:3道题,简单中等困难,1:数字字符串反转 2:不太好描述,忘记了 3:K数之和等于0
云账户:
1面:
就记得算法了,无重复字符串
2面:
算法:使用原子操作实现一个锁(下面就是题,可以参考go源码lock实现)
// 原子操作 API
func AddInt32(addr *int32, delta int32) (new int32)
func CompareAndSwapInt32(addr *int32, old, new int32) (swapped bool)
func LoadInt32(addr *int32) (val int32)
func StoreInt32(addr *int32, val int32)
func SwapInt32(addr *int32, new int32) (old int)
// 锁接口
type Locker interface {
Lock()
Unlock()
}
滴滴出行(增长):
1:go GMP模型,mo和其他m的区别只有一个mo吗
2:切片结构
3:channel结构
4:对nil,关闭channel读写有什么结果
5:go怎么处理web请求
6:go程序是怎么执行的
7:go内存逃逸
8:go垃圾回收,读写屏障是什么,怎么不需要STW
9:php-fpm怎么调优,你们机器设置多少进程
10:php代码是怎么执行的
11:zset多少数量后会有明显拐点
12:http关闭连接需要做什么
13:报文结构是怎样的
14:resetful是什么
算法:忘了。。
滴滴出行(出行)
没什么印象了。。
虾皮:
1:语音房房主,麦上用户和观众所用的流一样吗,怎么做到实时通信的
字节(通用后端):
1面2面:
算法:两个有序链表,返回重复节点组成的链表
三数之和
微软1面:
链表的k个一组反转
momenta:
1面:
1:GMP 原理,8核有几个m,有一个goroutine在读文件会发生什么,会创建第9个m吗
2:共享内存通信为什么比channel通信慢,为什么会慢,线程切换会做什么
3:算法:【1,2,5,10】求出等于10的所有组合,可是重复比如10个1
2面:
1:怎么保证数据库缓存的一致性,如果删除缓存一直失败,用消息队列还是失败怎么办
2:业务上线你觉得要做到什么
3:对无人驾驶的看法
4:算法:岛屿数量问题
知乎(内容管理)
1面:
1:gmp
2:channel原理
3:用goroutine写一个超时和重试的程序
2面:
1:map结构,是不是安全的
2:写一个安全的map,并且读不到数剧要阻塞
3面:
就是全程了解业务
唱吧:
1面:
1:正则表达式,匹配1,2,12,444
2:mysql锁,死锁怎么产生,两个死锁先释放那个,gap锁,幻读,怎么解决幻读
3:redo log , binlog, undo log都有什么用,写入的顺序怎样
2面:
1:redis zset 结构,压缩链表结构
2:混流怎么实现的
顺丰:
延时队列怎么实现
剩下一些忘记哪里问的点:
1:channel结构buf是什么结构
2:线程协成区别
3:go 锁的使用需要注意什么
4:redis的连锁更新
5:zset为什么查找块
6:redis集群3中模式,以及解决了什么问题
7:mysql线上修改一个表结构怎么能不影响业务
8:redis扩容怎么能不影响业务
9:redis 热 key怎么处理
10:redis有多少卡槽,zset跳表的结构
11:zset怎么找到前一名的分数,zset score相同怎么排序
12:map不能存什么key
13:分库分表怎么分,业务复杂怎么优化
14:大文件读取,不能用awk等命令
15:es数据一致性问题,es设计中遇到过什么问题
16:mysql两阶段提交
17:几种mq消息队列
18:单例模式设计要点
19:kafak怎么保证不重复消费,顺序怎么保证
20:redis设置分布式锁,过期时间,随机数有什么用,执行多个redis命令怎么保证期间没有其他命令
参考文档:需要关注才能看:不一定写的都对,有的错了还没来及更改,借鉴即可