360后台开发实习面经 – 两轮技术面
一面
自我介绍
项目相关
- 使用
database/sql
和使用gorm
的区别 - 为什么要使用 redis 连接池
基础知识
- 进程/线程/协程的区别
- 面向对象的三大特性 (结合 Go 说说)
- 如何限制 goroutine 并发数目:channel 或 WaitGroup
提问环节
-
Go 开发可以补充什么知识:
-
- 高并发/分布式
- 性能监控/性能优化
- 单元测试/压力测试
- 动态调试
二面
算法相关 (PS: 没有手撕,只讲思路)
- 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 工程管理的知识(可能和组里做安全有关),虽然没有通过第一次的面试也学到很多啦!
本文由 GOLANG ROADMAP 发布!