【第三十一期】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)