【小米】Go岗-golang的面经 秋招总结
小米的面试官喜欢突击,晚上八点多收到小米电话,问什么时候有时间面试,我说都可以,然后说现在?我:???,还是改到其他时间了。二面也是突击,刚想跟小伙伴吃鸡,就打电话直接面试。
一面
- 解释goroutine,channel
- c++ 和 go对比
- java和go对比
- 几种基本排序算法说一下,问了堆的时间复杂度,稳定性,为什么不稳定
- topk问题,海量数据topk(回答成切分多次加载内存,然后用维持k长度的有序链表,然后被说时间复杂度不好,提示说还是用堆,然后哦哦哦对)
- 最长连续字串和,这里我说的解决方案没用dp(对dp不熟),面试官一直引导我dp,还是不会
- 什么是主键
- 联合索引和唯一索引
- 越多的索引越好吗?
- 建立索引要注意什么?
- 进程和线程区别?
- 死锁?
- tcp三次握手
- http,https
- 状态码401,301,302,201
- 项目我说只有一台机子,所以用的单机部署,面试官说单机也可以部署多个,有什么方法吗?我说docker,问docker有哪些网络,不熟,dockerfile关键字,只答几个。顺便扯了下nginx转发。
二面
- 数据库隔离级别,提交读会造成什么
- go调度
- goroutine泄漏有没有处理,设置timeout,select加定时器
- 项目