A summary of today's interview

今天下午去了B公司的宣讲会。

先说下背景。起先是不知道有面试的,以为会像其他校招一样,走个过场,宣传加简历一投,就OK。 可是B公司来头挺大。宣讲完毕后,还有笔试+面试。因为我根本就没有准备,答得很不好,面试也有点想到啥说啥的感觉。下面具体来讲下笔试和面试。

笔试

笔试的题不难,CS的基础课程知识偏多,++i, i++区别,几种常见数据结构特点,还有经典的从浏览器输入网址到看到页面发生了什么,数据库sql语句,烧绳子的智力题,简单的php知识点,二分法判断数字是否存在于数组,等。

基础很重要,数据结构,数据库,这都是很基本的。 编程题做的一塌糊涂。二分法属于很简单的算法了,可是我不撸代码好多天,这种简单的算法都没有写上。 SQL语句自认为逻辑清晰,可是,等提到面试再说。 数据结构也是描述得很笼统。栈后进先出,队列先进先出,链表元素顺序与存储位置无关,树分层。 写上这些太简单,数据结构得恶补一番。

最最蛋疼的,烧绳子问题。一根不均匀的绳子烧完正好1小时,现有若干这样的绳子,问如何计45分钟。 绳子是有两个头的,我忽视了最基本的问题,笔试完我给同学讲这道题,她首先想到的就是两头烧。我把烧绳子看成了点香,我默认了只能从一头开始,然后这件事似乎就变成了不可能。 也许这就是思维的局限性吧。

面试

面我的有3个人,正对我的两人我推测是90后,然后CTO坐旁边听。 首先,问了下我做网管的具体经历。然后就是做sams时遇到了棘手的问题以及如何解决的,还有VIM的掌握程度。 接着问如果工作了对自己的规划。我回答得比较简单,就是多学点东西。 再就是大学4年做过的个人感觉比较牛逼的事、除了撸代码平时的业余爱好、喜欢参加的集体活动。

面试官说我SQL语句写的不好,运行起来没有效率,这是毋庸置疑的。因为我没有接触过大的业务逻辑,在优化这方面经验不多。

总结

  • CS基础,像操作系统,计算机网络,数据结构这些课程很重要!
  • 一个问题如果有多种解法,把解法都说出来讲讲。例如面试官问VIM如何删除多行,我说的是5dd,其实用v选中,再d也是可以的。
  • 公司比较看重一个人的潜力和发展,所以要活在未来,想好自己的规划。