Yahoo面经汇总



  • 面经1:

    • 第一轮:
      中国小哥。楼主有点点紧张,忘记自我介绍了。。然后小哥说,因为你是fresh graduate, 简历我也没啥问你的, 我们直接测试technical skills吧。find the occurrence in a sorted array.之后问了几个问题, prove start 和 end的设置不会进入死循环, 为什么是start = mid, 不是mid + 1, 然后如果这个function要被called multiple times, 要怎么做

    • 第二轮:
      印度哥哥。楼主跟印度人交流有点点问题,还好题目是LRU Cache…印度哥哥说只写put, 和next()和it.hasNext()我还跟他讨论半天要不要get这个function, 他说LRU只能get latest one, 不能通过key查找然后一边讨论一边写,最后写完put他说不用写next了, 那个很简单。multi-thread也没有问,然后就开始聊天,说什么来了雅虎5+years了,很喜欢雅虎,还给我看他的工作牌。

    • 第三轮:
      面试官是个VP。各种问project, 问的好细好细,然后又问了些java东西,但是感觉他是用C++的, 然后问题就有点混乱,楼主并不懂C++,好多问题一头雾水T_T
      感觉如果跪了就是跪在这一轮。。。

    • 第四轮:
      国人大叔, 人好好, 让我别紧张, 题都不难1. 两个数,不用中间变量怎么交换2. linkedlist 找环

    面经2:
    昨天去的onsite 本来已经withdraw了 可能是因为换了个hr发onsite邀请。。。索性就去感受一下吧。。。
    面的search组 三轮背靠背coding interview

    • 第一轮
      台湾小哥 人超级nice
      题目是Longest Substring without Repeating Characters 题目出来我还没说话呢他就说没关系的我们可以换题=。= 我差点要笑场 忙说不用。。。他说暴力解就行 然后followup了一下优化怎么做 没写code 然后对着我的代码问了一些java的基本知识 比如public/private/protected还有static等等。。。然后剩下时间就。。。聊天。。。
    • 第二轮
      韩国姐姐 人也超级好 特别爱笑 是CMU的phd 见到校友她好像很开心 一直在笑。。。笑起来也很美
      出的题目是find all the intersections of two sorted array 然后two pointers秒了 问了时间空间复杂度 然后followup是如果一个数组长度远远大于另一个数组怎么办 我说可以遍历短的数组 对长的数组进行二分查找 然后写了code
    • 第三轮
      印度小哥 人也很好
      先问了实习的项目 问得很细。。。然后让我写个word count的mapper和reducer 然后用python秒了 dryrun了一遍example 然后稍微优化了一下 然后问了hadoop的一些基本知识比如shuffle partition什么的。。。然后给了个sorted array 怎样转换成一个bst 能最有效地支持insert delete search等操作 如果有duplicate怎么改变一下设计。
      收到口头offer,hiring manager说pending on CEO approval 应该不会去

    面经3:
    一面:
    印度小哥,先聊了15分钟简历,然后是lc 151, followup lc 186,lc 226
    都挺简单的

    二面:
    印度大叔,上来直接做题,让自己设计test case,问思路问的也比较细,就是大叔口音略重有时听不懂

    1. lc 20
    2. 实现power(a,b)(其中a,b>=1)。这个我傻逼了,写了个接近于O(n)的解法,面试官一直在试图把我揪回O(logn)然而我执迷不悟……要是挂了真只能说自己咎由自取

    面经4:

    • 第一个:
      是数据库问题 select from…1point3acres.com/bbs

    • 第二个:
      是linux指令 要求给一个echo指令把里面的’,‘替换成’\n’

    • 第三个:
      是JavaScript的clousure问题,这个不太懂。

    • 第四个:
      是java写一个singleton的class 然后问qa测试和实际应用的结果有什么区别,然后怎么改进.

    • 第五个:
      最后一个是斐波那契数列的算法 但说recursion不实用 要用for loop做 follow up是怎么处理溢出

    面经5:

    • 第一轮
      是三姐 面了 path sum 不过是是 root 到叶子节点的最大值 和 remove duplicates

    • 第二轮
      是三哥 问了 validate bst 和 swap pair in linkedlist. 鐣欏鐢宠璁哄潧-涓第三轮特别让我不舒服 应该是个亚裔 因为在简历上提过node js 和js 做过的项目
      上来就一直问我js 和node 的问题
      可是明明manager 电面的时候就说过。。我最熟悉的是java 和python。。。
      并且问的问题中,我不知道的本着好奇的心态。。我问他觉得应该是怎样, 他直接说。。。你是来面试的。。又不是我。。我不能告诉你。。。。。。。。。。。
      然后coding 是让我用c 写reverse string
      特别奇葩的是 我在他给我写好的function 里面填代码 然后写完了之后 他说有错 不停说 syntax error。
      然后我就在检查我自己写的部分。。最后他用手机照完相之后说。。这个function。。。没有回 大括号。。ORZ.
      总之。。如果不是第三轮。。感觉还是挺不错的onsite=。=

    面经6:

    1. 0-15min 聊聊简历 问问兴趣 感觉面试官态度还挺好的 虽然是个印姐 自我介绍说工作了8年
    2. 15-30min LZ说自己平常都是写C++ 印姐就问了virtual function的问题 ( e.g. why destructor virtual )两年第一次面试 有点紧张 一说结巴了 印姐抓着不放了 问了很多继承相关的 还有 pure virtual func相关 因为准备的不是特别充分 完全凭记忆了 自我感觉答得不太好
    3. 30-60min 算法题 Leetcode:Insert interval 多实现一个getTotalLength()返回现有interval的总长度 答得还算顺利 印姐手里的答案可能和我的思路不太一样 描述了半天她才听明白 时间也所剩无几 向她问了点组里的一些方向 工作的一些东西

    面经7:

    • 一面
      印度阿姨,因为实在是工作了好多年,人很nice。聊她聊我聊简历,就得有25分钟。然后是好多java概念问题。abstract class vs. interface,thread vs. process,lockarraylist vs. linkedlist,static,final,lock。还好有所准备,阿姨还算满意。于是有了第二次电面。
    • 二面
      和一面隔两星期。印度哥哥,迟到35分钟。直接贴题目。

    Input Array {3, -10, -2, -5, 10, 4, 5, -1, 10, 2, -4} Output Array {3, 10, 4, 5, 10, 2, -10, -2, -5, -1 , -4 }.
    Order is maintained and –ve numbers are sent to rightmost in order. (Write a pseudo code to do it in single iteration and in-place.)

    写了一通没做出来,说可不可以给个小hint呀,小哥说single iteration和in-place就是hint。囧 就是因为您这俩hint我才不会做啊。

    面经8:

    • 第一轮:
      是国人大哥, 让我自我介绍一下,然后出了一道几乎是leetcode 200原题的题,不过要求output变成0所在的坐标,其实差不多。其实道理我懂,用dfs,但是解释得不好,难过。
    • 第二轮:
      是国人姐姐,简单自我介绍,问了extend和implement的区别。第一题是找linked list中间的数,偶数个node的话就返回中间两个数的平均值。第二题是N个数的sorted array,找出现次数大于N/4数,多个数出现次数大于N/4的话只返回一个就行了,无论哪一个。我做的是先找出位于N/4,N/2 和 3N/4位置的数,然后依次找出这三个数出现次数。 我做的时间复杂度是 O(N),其实用binary search的话可以降到 O(logN) 的,挂完电话反应过来了T.T.

    面经9:
    昨天的雅虎电面,面的是Communication组,是学校career fair投简历然后组的Engineer Manager来联系电面的。

    面试小哥是前端工程师,一开始问了前端的一些问题,接着发来链接开始做算法题,算法题可以切换语言,不一定用js。

    题目是server上有一个dictionary,然后输入是一个字符串,要求找到字典里这个字符串的同构词。

    小哥提示,因为是在server上,所以可以花比较长的时间进行预处理,只要预处理后接受请求能够快速返回结果就好。-google 1point3acres

    首先思路是判断两个单词是不是同构词,只要把它按照字母顺序sort一遍,sort之后结果一样的便是同构词。. 鍥磋鎴戜滑@1point 3 acres

    预处理时建立一个hashmap<String,List>,key是sort后的字符串,value是sort的结果是key的字符串的list。
    比如说字典里是 banana, baaann, orange, steak
    那么构建出来的hashmap就是
    aaabnn -> banana, baaann
    aegnr -> orange.
    aekst -> steak
    当接受到请求的字符串时,把输入sort一遍,直接返回hashmap.get(sortedString) 就好

    小哥表示可行,然后follow up是输入有可能是部分的字符串,要求找到含有这个字符串的同构词

    比如对于上面那个字典,当输入bna的时候,也希望能够得到banana和baaann

    我的回答是用trie的变形,每个trie node储存的是含有这个字符串的字符,而不是传统trie的以这个字符串为前缀的字符

    follow up就是讲了下思路,没有code,小哥说on the right track, 然后就问问题结束。

    面经10:

    • 一轮电面
      mail组的一个manager面的我(白人),并没有特别的刷题过程,完全是想到什么问什么. 从performance, csrf,xss,rendering path, accessibility提问,让你谈知道的.
      然后考察js,写了两个题发现都是几行代码秒杀,说我们来个难点的吧…让我实现Function.prototype.bind…(就是polyfill吧), 那会就剩8分钟了. 经理说没事,这么短时间写这个太坏了,你过了,等下一轮吧.
      面试的时候我特地问过react/es6的事,经理说没事,进来学.

    面经11:
    人在湾区,直接进onsite…这个事的高潮开始了.

    周四4轮tech+1轮吃饭.

    • Round 1: 泰国面试官,因为我停车迟了会的关系所以问题没问完,他说没问完的下一轮会有人接着问.
      问题:
      1. 写一个stack class. 写完了问我能不能用ES6的class再写一遍,我说目前production environment没用这个,我不太熟悉. 他没继续.
      2. 问css selector优先级,inline–id–class–element
      3. 让白板写一个typeahead bar的简单实现(data fetch有一个预设的api, ajax call). lib/framework随意. 我直接用原生写的. 写之前我问他要不要写一个debounce, 他说可以最后再说. 写完了时间不够,他说debounce别写了,我知道你想的了,好好下一轮.
    • Round 2: 咖喱1号, 两个白板coding. 1, flatten nested array, dfs解,要求sorted, 最后sort, 我说如果要去重就加个hashmap. 第二题对一个object (key-value pair)实现先按照value分类并排序,如果value一样,按照key的排序的变型, 就是烦一点,实现下就好了.
      题刷完了,开始问概念. 问我cookie/session/token, http2的新内容(我就知道个websocket…), iframe劫持了指定url的内容,怎么应对. CORS的具体流程. 这部分我完全不知道的就是iframe那个. 其余的都讲了…前端反正就这样,大杂烩.
    • Round 3: 咖啡2号,一看就是比较靠谱的咖喱…问了url在browser内输入后的一系列过程,问了status code。 然后开始刷题. 第一题Pow(a,b), 第二题是判断一个都是正整数的array有没有可能变成一个连续的array. 这题我先从sort开始,然后写完说,如果数据范围在特定范围内的话,按照类似bucket sort的方式,可以做到O(n), 咖喱表示满意,最后问我,能不能不用额外的space(input不算), 我说那要改变input,用input来做flag了,但是可能会有点麻烦. 咖喱说直接把正数变负数就可以了,写完代码,pass.

    午饭产品经理轮,这轮我倒是想说说. 地里谈起雅虎差不多就是这货隔天就嗝屁,去了分分钟layoff…但是我看他们家吃饭待遇很好啊…我走回去路上想拿杯咖啡,产品经理和我说下楼去喝好了. 到了那一看,原来专门有人跟星巴克一样在那给你做咖啡,我拿到手的拿铁上面还拉了个奶花…(梅姐对内确实没得说)

    • Round 4: Hiring manager, 资深咖喱. 完全不像一般的经理轮,打开browser,直接在yahoo mail的页面上抓http包,问我里面的cache时间之类的…末了还给了我一个2 sum — 3sum之间的题. 题目是给你一个array, 能不能找出三个数,让2个数相加等于第三个数. 反正就是hashmap计数然后去重…我白板全写完了,还给他讲了一遍…我感觉他出这题是现场突然想出来的,他自己都不知道答案…

    高潮部分来了,我离开之后过了2个小时收到recruiter的邮件,说我的onsite结果pending, 我看到那I apologize开头还在想尼玛2个小时就能fail, 我面的没问题啊…仔细一看是pending, 但是也觉得奇怪…

    第二天我收到了邮件,给我解释了下为啥我最终还是被fail了,说是他们觉得我ES5写的很溜,但是他们现在es6+react, 说我进去不能马上干活,他们觉得挺好但是还是内部达成了最终意见,反正就是要一个进去秒干活的.

    前端框架哪怕是最复杂的,1个月肯定可以进生产环境,至于ES5—ES6, 你们去问问写react的,换几个写法麻烦么.
    我问了身边一圈人,都觉得是面试没问题,但是阿三没给说好话,这坑强行要留给阿三…最后想了这么个蛋疼的理由来拒人

    推荐给大家一个CS群,都是找工作的大家聚在一起,定时会在群里分享IT咨询、工作机会,交流大牛的工作心得。
    0_1482534036104_782300758280234399.jpg


登录后回复
 

与 BitTiger Community 的连接断开,我们正在尝试重连,请耐心等待