想记录下找到有缘分的暑期实习前的面试经历,也顺便给自己攒攒人品,脸实在太黑了……
感觉面试官是应届生?很和蔼,但是说话声音很小,没开摄像头,旁边噪音又很大有唠嗑的声音……
1.说下Go的GC模型
说的太全了,给面试官说的不耐烦了
2.Map是并发安全的吗?
2.1 那你要是想让它并发安全应该怎么做?
3.sync包有了解吗?
4.map扩容
这个没答好,好久没复习只提到了bmap,唉
5.Channel了解吗?
直接答了有缓冲Channel的底层实现,面试官提醒了我一下答的是有缓冲的,可能他是想考无缓冲?
现在面试官停顿了半分钟,嘟囔说问点什么八股文好呢……
6.Go的捕获迭代变量有了解吗?
No。面试官解释了一下,实际就是如果用到了for...range得到的值不能直接拿来给goroutine用,新值和旧值可能不一样,因为range是一个循环变量。说实话,当时我没太理解,但是感觉和range的坑很像,于是就说了一下range的问题,面试官说聊的不是一个东西哈哈哈。
7.Go的context有了解吗?
只是用到过,没深入学习底层
8.Redis有使用过吗?
No
9.事务的四个特性
10.有用过列数据库吗?
没,但是学习过,然后聊了聊优点
面试官又停顿了,嘟囔说我想想啊,唉,我也不知道该问啥八股文啊,算了随便问问吧……
11.隔离级别
又答得太全,面试官又有些不耐烦了
12.既然你提到了锁,那就说下悲观锁和乐观锁的区别吧
13.MySQL底层索引结构
13.1 B+树的时间复杂度?
13.2 B树和B+树的区别?
14.MySQL读一次数据的基础单位有了解吗?是一次IO不是一条数据
瞎答了句一页……后来查了一下正确答案好像是16KB?
15.TCP在哪一层?你只需要告诉我在哪一层就行,不要说太多
本来还想多说点控场的呢……
16.那HTTP呢,在哪一层?
17.说一下merge和rebase的区别吗?
没答上来,只说了下merge,rebase实在不熟
18.行吧,来道算法题,打开你的IDE,写一下快速排序
18.1 先说一下快排的思想,怎么实现的
18.2 快排正常情况的时间复杂度?最糟呢?什么时候最糟?最优呢?
快排一点没复习,真有点忘了,最糟情况答错了,被面试官纠正了
18.3 要不你随便写一个排序吧,想写什么写什么,不用考虑时间复杂度
写完出bug了,面试官说是因为没有交换,真是菜的抠脚……
18.4 你们都是怎么准备算法题的?快排是不是很久没写了?
答做力扣,快排太基础确实发懵了……(都是借口)
最后就是反问环节。
#面经##知乎##实习##暑期实习##golang#