一面
自我介绍
项目相关
- 使用
database/sql
和使用gorm
的区别 - 为什么要使用 redis 连接池
- 进程/线程/协程的区别
- 面向对象的三大特性 (结合 Go 说说)
- 如何限制 goroutine 并发数目:channel 或 WaitGroup
- Go 开发可以补充什么知识:
-
- 高并发/分布式
- 性能监控/性能优化
- 单元测试/压力测试
- 动态调试
- LeetCode-104 二叉树的最大深度
- LeetCode-110 平衡二叉树
- Go 高并发和分布式的特点
- Go 如何查看性能:pprof
- Go 如何进行调试:gdb/delve
- Go 如何打印堆栈:runtime.Caller
- 谈谈对 Web 框架的理解(结合 gin 说说)
- Redis 的数据类型和底层实现
- 谈谈对 Docker 容器的理解
- Linux 的命名空间是什么
- Linux 命令使用:
-
- 查看进程:
ps
/top
- 查看内存:
free
- 查看磁盘:
df
/du
- 查看进程:
- 对本次面试的评价:多去理解底层知识。
总结:侧重于 Go 工程管理的知识(可能和组里做安全有关),虽然没有通过第一次的面试也学到很多啦!
推荐阅读
- Leetcode专题[字符串]-剑指 Offer 05-替换空格
- Leetcode专题[字符串]-151-翻转字符串里的单词
- Leetcode专题[字符串]-541-反转字符串II
- Leetcode专题[数组]-40-组合总和II
- Golang开发常见的57个错误
- 【golang】leetcode中级-字母异位词分组&无重复字符的最长子串
- 彻底理解Golang Map
- kratos线上开源年会它来啦~
- 深入浅出 Golang 资源嵌入方案(go-bindata篇)