废宅的面试以及笔试经历合集(估计并不能持续更新更完了)

闲来无事,代码不想写,书不想看,又想找点事情做,然后就记录了一下最近的面试和笔试过程,也算是留下些什么,不知道以后 (泛指很久之后) 翻到这篇博客是什么感觉呢? (哼!才不是给你们写的呢= ̄ω ̄=)

阿里巴巴线上测试@20180311

因为看之前一个室友做的线上编程题很简单,又在另外一个室友的鼓动下,最先开了线上编程的题。结果难度爆炸,大致意思是有一批货,最多10种;有最多10种包装方式(或者可以说是套餐?不知道该怎么表述好),问在怎样使得剩余商品种类最少(该条件优先)和包装方式最少。最先想到的是DFS,然而复杂度爆炸(数据稍大就肯定跑不出的那种),判断繁琐。 (最后只交了白卷)

剩下基本上是一些阅读理解、数据分析和计算、智力测试的题目。只是做题的时候感觉昏昏沉沉的,状态不太好,总是感觉时间不太够。

阿里巴巴实习生一面@20180320

感觉一面基本上是了解情况,除了在面试的时候对面有一些嘈杂(可能是边上还有其他人也在面试)之外,整个过程还是很顺畅的 (就是经常让面试官重复问题,面试官真的很有耐心(⊙﹏⊙))

最开始显示自我介绍,一开始有些紧张,不过后来开始放开了。

最开始问了一些竞赛相关 (比校级高一丢丢的竞赛放上去凑数的,作为一只小菜鸡也没别的可以写了) 的经历。之后问我有没有做过什么推荐系统,当时刚好刚上完模式识别课,跟面试官扯了一通自己学的一些算法 (岔开话题) 。然后是照着简历上他感兴趣的项目 (其实是课程大作业) 问的。当时问的是Java课做的一个即时通信软件,问了一些实现的细节以及有没有可以改进的部分,提到什么就会追问下去(多线程、序列化、框架之类的 (然而我这个小菜鸡知道的并不多) ),其中也穿插了一些基础知识(tcp和udp的区别、三次握手、然后忘了)。

关于算法和数据结构,问了两个比较简单的 (刚好都碰到过的)

第一个问题的过程是这样的:面试官先问我了不了解什么字符串匹配的算法,我说kmp。然后面试官问我怎么匹配大量人名信息 (估计是想把我带坑里),然后机智的我回答了哈希 (之前刷面经刚好看到了)(估计是达到了心理预期) 之后简单问了一些怎么处理哈希碰撞的问题便结束了这个话题。

第二个问题是两个链表可能在某一结点合并变为一个链表(两个链表中有指针指向同一个节点),问怎么样才能找到那个特殊的有两个指针向的节点。刚好这个就是数据结构一的期末考试题,回想了一下当时的做法,答曰:将指针放到俩栈里,比较栈顶元素,依次出栈,直到栈顶元素不同为止。

然后还问了我线上的编程题为什么没有做,答曰:DFS复杂度爆炸,并想不出其他的做法

最后,面试官简单地问了一下在学校的排名和想要工作的城市,然后通过通用结束语“你还有什么问题要问吗?”结束了面试,整个过程30分钟出头。

埃森哲在线笔试@20180401

基本上是一些阅读理解、逻辑、计算、智力测试的题目和阿里的题目差不多,还有有趣 (坑破天际) 的数列找规律题目 (OEIS搜索题,然而并搜不到( ̄▽ ̄)”)

差不多就是下面的样子 (手动黑人问号)

1, 3, 2, 6, 11, 19, ?

选项: 24, 36, 29, 38

5, 7, 4, 9, 25, ?

选项: 168, 256, 216, 296

-1, 1, 7, 17, 21, ?, 71

选项: 27, 41, 49, 50

然后还有一道印象深刻的推理题 (主要还是因为做不出来)

航天局认为优秀宇航应具备三个条件:第一,丰富的知识,第二,坚强的意志。现有至少符合条件之一的甲、乙、丙、丁四位优秀飞行报名参选,已知:

  1. 甲、乙意志坚强程度相同
  2. 乙、丙知识水平相当
  3. 丙、丁并非都是知识丰富:
  4. 四人中三人知识丰富、两人意志坚强、一人技术熟练

航天局经过考察,发现其中只有一人完全符合优秀宇航员的全部条件他是?

(再次手动黑人问号)

微软预科生在线笔试@20180402

  1. 约瑟夫环问题,输出最后一个的位置

    深深地感受到了自己的菜,暴力求解,最后连最简单的样例都没有过>︿<

  2. 一个数字序列,在每一趟中,将每一个比左边的数大的数字做上标记,进行删除,输出最多删多少趟。数据规模10的5次方。

    作为一直小菜鸡又是只能暴力求解,虽说样例过了但是觉得肯定会超时

  3. 一个数字序列,输出两两组合后右边比左边小的情况下他们之间的距离的最大值

    例子:

    5,7,4,8

    输出2,因为5的下标和4的下标相差2

    结果同上( ̄▽ ̄)”

  4. 一道简单的动态规划题目,题意大致是有简单的和困难的两种工作,每天可以选择困难的、简单的、和不做任何工作,在同一天困难的工作的价值一定比简单的工作要搞,做困难的工作的前一天必须没有完成任何的工作。给出每一天两种工作的价值,问怎么安排才能使得总价值最大

    例子:

    4

    1, 2

    4, 10

    20, 21

    2, 23

    输出33(10 + 23)

    转移方程如下

    1
    dp[i] = max(dp[i-1] + val[i][0], dp[i-2] + val[i][1])

    然后当时可能是没有考虑到第一天不能做困难的工作,有一个测试看不到数据的测试用例没有过(⊙﹏⊙)

阿里巴巴实习生二面@20180403

先说结果:一曲凉凉送给自己

时间长了,很多都忘了,下面是还能会想的起来的大概内容

上来先自我介绍,像往常一样照着简历说完之后说了自己最近在学JavaWeb和Tomcat。

然后面试官就着重问了很多JavaWeb相关的问题。

刚开始先是问了Http头和Tomcat处理Http请求的过程,可能因为是最近刚看的还有点印象,自我感觉答得还行。(然后后面就慢慢开始凉了) 后面接着问了OSI七层模型、Http所在的层以及二层、三层和四层的协议都有那些。七层模型那里还行,然后我说Http在第四层(误),之后的各层的协议哪里空气突然就变得安静了,因为…都…忘得…差不多了 (室友说二面是照着简历问项目的细节就没有仔细复习基础知识(找个理由让心里好受些( ̄▽ ̄)”)) 然后后来被问到了如果要实现一个Http服务器该怎么做,我把我当想法说了一下(为一个用户开一个线程),然后就被怼了。

后来换了个话题,面试官问我自己觉得学的最好的一门课是什么,惊魂未定的我脑子一抽说了数据结构。然后面试官问我学了那些数据结构。我花了一秒钟,瞄了一眼书架,数据结构还有算法导论太长时间不看已经被我放到了柜子的深处,于是我又做了一个愚蠢的决定:想到啥说啥。

先是说到了栈和队,然后面试官问栈和堆有没有实际的应用,我说了函数调用和优先队列。之后面试官话锋一转,问我Java虚拟机里有哪些些内存区域。这个之前是看过的,然而忘了 (没有想到他会问基础知识就没有复习) ,只能想到啥说啥的我说了几个自己都对不对的答案,之后面试官问我内存中的堆区和数据结构的堆有什么联系,我:???

然后说到了最短路径算法,面试官让我解释到dijkstra的大致流 (tao)(lu),说了一通松弛操作之后面试官说我讲的不清楚,我:???后来又提到了这些算法的复杂度,又是太长时间没有看的原因只能XJB讲。

最后,面试官问我什么时候开始学习编程的。我说高中的时候接触过一点Mathematica (写数学作业偷懒用的),系统的学习是大学之后。之后又问了累计的代码量并且留了一个邮箱让我发一些满意的代码过去。

面试的时间还是差不多30分钟,只不过这一次并没有问我还有没有什么问题 (差不多是凉凉了)

第二天看网上的状态:已回绝(;´д`)ゞ

酷家乐@记不清时间了

有个学长在酷家乐,经常在开源社区的群里宣传。 听说来我们学校宣讲,就去凑了个热闹,交了份简历。宣讲当场有一个笔试环节,基本内容有点记不太清了,反正大概就是一些专业课的内容。

之后打电话说笔试过了,进入了下面的环节。后面又有一次电话面试的环节。问的基本上也是比较简单的问题:一个是简单的排列组合,然后问排列组合公式。我稀里糊涂的竟然把排列组合的公式讲错了,还好后面意识过来,要不然暑假实习就真的凉了。后面一个问题是怎么判断一个点在三角形里,我说了几个方法,面试官比较满意。

后面就是现场面试了,现场面试的时间比较长。一上来先是给一个歌词文件,实现一个按照正确的时间,播放歌词的程序。后面问了一些并没有什么特别之处,刷一些面试题就能刷到的算法,然后聊了聊人生就结束了。过了几天,收到了offer。

摩根史丹利@记不清时间了

暑假参加了摩根的开放式活动。开放日当天有一个小的面试环节,相对应传统环节的线上笔试和电话面试环节。开放日的那一次面试总体来说比较简单,就是聊一下简历上的东西。然后再问一些基础的算法就结束了。唯一有难度的是整个面试环节需要使用英语进行。

开放日之后不久便收到了Assessment Center环节的面试通知(最终轮)。最终论的面试分为半小时的做题、三次单挑(1对1的面试)和一次群殴(群体面试)。做题主要是一道算法题,使用任意一门语言在纸上完成,还有自行填写对各方面知识的掌握情况,后面的单挑环节将侧重于所填写的方面。第一次单挑的主题主要是关于最初的算法题目,要和面试官讲清楚算法的思路。后面两次单挑的内容基于你所选的岗位方向以及前面填写的一些相关的语言和技术的掌握情况。最后的群殴主要是分为两组,分别策划一次活动并最终汇总意见,感觉主要考察的是组织领导能力还有沟通交流能力?

一个月之后,作为一只小菜鸡的我不出所料地接到了凉了的邮件🌚