格灵深瞳/蜂游/晓教golang实习面经
继续给大家分享golang的一些实习面试经历
格灵深瞳
1、简单说一下自己所学的东西。
2、协程 goroutine的调度实现,我说了M-G-P模型。
3、redis 的五种数据结构。
4、redis为什么这么快?(我说了内存,单线程避免切换,最后才是大头,多路复用IO的底层原理,就是epoll)
5、epoll的源码有没有看过?
6、socket编程,用python写过demo.
7、问了了解的web framework.
8、问了自己做的项目部分,
HR面:
谈了一些待遇和其他的东西。1、首先做了一个简单的自我介绍。
2、http里的cookie 和session。
3、上来就问我简历里的项目,数据库有没有做切分,我说暂时没有做,因为目前数据量还没有达到要分库分表的地步。
4、问了是垂直切分还是水平切分,以及水平切分后数据库如何访问?
5、why database index is so fast?
6、nginx引用 配置文件。
7、go goroutine。
8、go interface.
9、init函数能被外部调用吗?
10、go中多个defer的执行顺序。
11、select的用法,加上default又会怎么样?
12、快排,归并排序的原理。
13、socket编程,(说了bind,listen,received)
14、最后问了一下简历写的项目,问什么时候做完?
晓教育:
1、简单介绍了自己。
2、面试官说我的github里怎么大部分是python的项目,我说我是后来才喜欢上Go的。
3、进程、线程、协程是什么?(我说协程更轻量,切换起来快)
4、面试官又问为什么协程更轻?
5、什么是用户态/内核态?说了一下nginx里有个参数 sendfile就是直接把文件直接copy到用户态,避免再从内核态到用户态的复制。
6、对docker 的理解。
7、数据库索引为什么这么快,我以书目录举例,现在想起来其实是因为B+树是二分查找。
8、又说了索引的实现,我记得不清楚了,就说了是一个B+树,但具体实现想不起来。
9、tcp三次握手。
10、tcp为什么是可靠的。
11、是否对微服务和分布式有了解?
12、最后面试官问我,有什么想问的。我问了他们的开发环境,他说研发都是Mac。
#格灵深瞳##实习##golang工程师##面经#

