【滴滴】Golang岗-大四狗的实习面试

一面:

面试官上来直接就问,(我内心,卧槽,这面试官,牛批,省的自我介绍了,我信息都在简历上写的,有啥可自我介绍的,顿时对面试官好感度倍增)
面试官说:“XXX是吧,XX大学?来,我问你几个专业问题哈!”(这开场,牛批,真爽,上来讨论技术多好)
为什么转golang的
为什么不考研啊
Golang的一些问题,channel的实现、GPM、Goroutine的实现方式等等等等,一些Golang的常见底层原理性问题吧。
mysql的索引有哪些(顺便说了哪个索引是哪个存储引擎的,B+树的实现方式,每个存储引擎的使用场景,还自己多加了一个memory存储引擎)把自己能联想到的都自己说了出来
然后。。。。mysql就没了,可能是我自己大致都说了吧。但是我还没说一起其它的锁之类的其它很重要的知识点。
reids:
存储结构(hashtable),竟然没和我谈论各个数据结构的底层实现
redis 的内存分配方式、哪个分配器,
内存碎片是怎样发生的,怎样解决。
然后上面的数据库这一方面就结束了
题:
一串字符串,返回其的最大周期,比如说abab,返回2,ababc 返回1,因为ab不是规范的循环,abababab,返回4,而不是2。
然后我理解错了,理解成了即使在ababc的情况下,返回的应该是2,因为ab循环了两次,然后就开说说我的想法,和面试官讨论,我说使用KMP算法的next思想,然后把我的思路完整的说了
一下,然后面试官说其实暴力一下就可以,我认为暴力会浪费太多的资源,就开始反驳,然后让人笑掉大牙的是,是我考虑的问题比面试官给我出的题复杂了不止一倍。然后又回到了原题目,
然后让我重新构思,我想了一下,即使在简单情况下我的方法也绝对比暴力要快,然后又开始和面试官争论,从复杂问题争论到简单问题,从短字符串争论到超长字符串,谁的速度快,为什么快。
可以通过哪些技巧加快速度,有哪些特性,以及实现之后的复杂度,最后的结论是在字符串长度小且重复元素少的情况下,暴力法绝对比我的快,但是相反的情况,我可以比暴力法快出几倍,甚至几十倍。
然后聊完就有点累了。面试官和我说了一下我什么时候可以去,有多大的概率可以去,说了一下滴滴的实习生薪资,等等等等,感觉面试官对我很好,其中重点给我解答了一下部门的职责等等。聊的很开心,
之后加了微信,让我不懂的问他。(不得不说,面试官的孩子很可爱)

二面:

golang的一些基本问题,可以说是语法层面的吧,没有问我底层实现。
linux的一些常用命令
对golang的理解
还有自己使用过的框架、了解过的框架、orm、数据库、使用的什么客户端等等、一些项目架构方面的知识
然后我问了一下,您决定我的通过概率有多少。。。。。呵,我个直男。。。。。
然后二面面试官和我说一面面试官对我挺满意的,(一脸懵。。。。我是完全不懂面试结构是咋样的,现在才知道。。原来一面掌握我的生杀大权啊。。。)
然后就说,之后会有一些工作就没了,然后,我在微信上和一面说,哥,我觉得我过了,面试官和我说,你干掉了203个和你一起投简历的同学。。。
下午,hr打电话发offer,等流程,
唔,来自某渣渣程序员。。。。加油,希望以后能在滴滴解决更多的效率问题,优化。。。

发表评论

后才能评论