笔试(打字写写比较简单)
- 进程和线程的区别,如何通信
- TCP/UDP的区别和特点
- sql语句
- go中defer的顺序
- 面向对象语言的特点
面试
自我介绍
Mysql
- mysql存储引擎 - 哪个支持事务
- char 和 varchar 区别
- 应用层索引
- 索引对左匹配原则
- 数据库的索引类型,使用过那些索引,还有那些索引
- 索引的数据结构
Go
- go有没有异常类型
- 介绍一下GMP,能不能去掉p层
- go的竞争条件 Mutex
- [场景] 100个协程执行了50个,51panic后面的还执行吗 - 不想退出怎么做
- 讲讲Grpc
- map有序还是无序 - 怎么实现排序
- 进程挂了怎么办-在linux环境挂了应该怎么处理
Redis
Linux
- 查看当前路径 pwd
- 查找一个文件,有名称 find -name
- 日志滚动查看 tail less cat
- 移动目录 mv
Docker/git
- 怎么查镜像
- 讲讲DockerFile
- 怎么下载其他分支 git branch相关
- 单机docker支持那些网络模式
看程序说结果
func test()int {
i := 0
defer func(){
fmt.Println("defer1')
}()
defer func(){
i += 1
fmt.Println("defer2")
}()
return i
}
func main(){
fmt.Println("return", test())
}
不是第一时间记录的,有点忘了,但是看了其他的面经基本也在其他投稿的范围中。
问了一个数据库,没听清问了啥,没用过... channel相关比较多可以多看看,不同的问题对应不同的业务。
倒是一点简历都没问。OC了