会重视很多基础内容,尤其java的小细节

rpc、网络也有问到

简历的项目也聊了聊

coding全LC的easy

反转二叉树

deep copy graph

bst第k个node value

平移数组,超过长度n的移到前面,从index 0往后

数组移除重复值

重视交流


校招第二天的oncampus 技术面试 一个小时

1.alumni闲扯一下这学期上的课和自己平时的project

2.基本数据结构linklist binary tree array优点缺点 复杂度

3.2道白板: 1.李口原题反转单词 2。李口原题 first unique char

今天的校招,第一题two sum,第二题first unique char


introduce yourself

  • 问了简历的一个前端项目
  • 自己介绍了一个分布式系统的项目
  • Thread 和 process的区别联系
  • java modifier的相同点和不同点 public private protected
  • Java thread pool
  • array, array list, linked list区别与联系
  • 比较排序和非比较排序 特点
  • http和https, http request
  • http三次握手
  • 在此基础上 做了一个 color sort

java基础,多线程,网络os基础知识,3 sum,设计停车场,这是我碰到过的,祝好运


Yahoo都是按组面的。Manager直接给邮箱发信 说对你感兴趣 然后约时间 开始店面。

第一轮是一个backtracking 很简单 就是给一些数字 写combination 然后聊一聊背景。

一周后第二轮 还是组里的人 面了一个树的遍历,一个trie的实现。然后又聊了一下背景。

在一周 就接到了pass的消息。全程还比较简单。


给两个binary sting ("100" "011") 加起来return


Java, C++, C, SQL, Python, Command Line, OS. 各种编程语言的区别、优点,某些关键词等等


第一轮烙印面试官,先问了很多基础知识,什么详细描述在浏览器输入yahoo.com后会发生什么啊,http的status code啊,http和https的区别啊。。然后是做题,remove a node from a linkedlist,要求必须用js做。本来很轻易秒了,但是烙印不理解为什么要用dummy node,我说用dummy node可以使删除头节点这个edge case变得不再特殊。。烙印还是不理解,解释半天烙印最后说这还不如不用呢。。我只能应和嗯嗯不用也能做,用也是一种办法。。然后又出了一道2 sum变种,要求返回所有dinstinct pairs,本来也是秒杀,但是烙印说我的方法是n ^ 2,让我自己看看哪里出问题,我看了半天怎么也看不出来,跟他说一定是O(n)啊怎么会是n ^ 2,烙印说set.contains这个method是O(n)复杂度map.containsKey才是O(1)。。


两轮面试,各45分钟。

第一轮

题1:问给一串字符串, 找第一个非重复字符,利特口特伞霸气。用dict解即可。. 1point 3acres 璁哄潧

题2:利特口特 霸。要判断是否为非数字,也会有leading 0。 比如"-0003"返回 -3 鏉ユ簮涓€浜�.涓夊垎鍦拌鍧�.

第二轮

给定一个tree和一个target double number,删除树中,所有比target小的节点,并要维持树的特性。可惜树的题基本没有刷过简直有点伤QAQ


算法题挺简单

Lowest common ancestor

Merge two sorted list

First bad version

因为是面的组是web相关,所以最后几分钟问了些web:

React lifecycle

react state props

5===‘5’ vs 5==‘5’

closure

dynamic typing


电话面试,40min聊天,20min coding。

先是聊简历,balabala, 10min.

然后开始yahoo招牌,我问你答系列。内容包括:Java*N, Java vs c++, bash, sql.. 总之好好准备各种JAVA概念就是了。。

最后20mincoding,两道题。

  1. 给一个string,一个char array,输出一个int,为string里属于char array的char的个数。

  2. maxinum repeating character. qqqwwwwqq. 输出4.


final round 考的 serialize the tree and deserialize the tree。


第一轮,

首先是给要求写出tree的inorder sequence,然后要求用recursive 和 iterative分别解。一开始蛮紧张的,recursive很容易但是没有写好,iterative写的蛮顺利。第二题是reverse linkedlist。

最后的时候问我是不是做过这些题,虽然都是做过,不过说的是做过类似的。。国人大哥真的人很nice,希望能给过。这轮整体上还是比较稳,就是不知道他会不会介意我做的太快了像做过的?

第二轮,

毕业了两年的国人,是在Tumblr的。出了一道李寇特 无视留,原题。我用的是两个数组分别存头和尾的方法然后分别sort的方法,但是他不太熟悉这个方法。。。他想了挺久的,感觉一直是没有完全理解,我也一直在解释。确实这个方法不是很好理解。中途他给了一个special case,把[1,2]这样的改成(1,2)然后我的方法就不行了。。。还蛮慌的,就提出用一个数组的方法解。

他又问为什么第二个方法行第一个方法就不行了呢。。。想了很久很久,我觉得他自己也在想。后来发现是因为他给的special case里面出现了(2,2)这种鬼畜。。。

摔!是这个special case自己不成立啊不是我的方法有问题!

45分钟都耗费在这道题了。所以其实是有点慌的,不知道最后给不给过。写code后也问了一些关乎代码的基础问题,感觉回答应该是没问题的。


java单例模式

LeetCode 277,medium的一题,可惜我恰好没刷到这一题,上来先给了一个O(n^2)的解法,后来想O(n)的解法想了半天,最后在三姐的提示下用2 pointer做出来了,然后写了代码,问了我复杂度是什么,这题答的并不好。

这一题花了我大概35分钟的时间,接下来是第二题,应该是一个OOD

让你设计一server类,里面有一根do函数,要求这个server每一秒钟最多只能处理5个请求(比如外面一秒钟调用了6次do,只做前5次)。

我问外面调用是不是单线程,她说先考虑单线程。我就说设置一个counter,每do一次加1,加到5就不做do了,在用一个线程每隔1s清空一下counter。她说可以。又问我多线程怎么处理,

我说就用synchronize把counter++的这一句锁起来,这样counter就不会被加很多次了。她也说可以。然后时间就到了。


onsite是俩印度人。第一个是印度大叔,第一题是tic tac toe,表示没碰到过根本无从下手;第二题是给一个4位数字将第二大的值改成第一大减第二大的值,比如9724变成9224这样。之后的印度小哥哥问了个拓扑sort的题目,给你一串字符串"ac","ba"等等这样,找出来是否有一定的规律,比如a一定在c前面,c一定在a前面这样。我用了bfs的拓扑sort,复杂度O(n+m)。然而他说复杂度不对。后来问了bfs和dfs啥时候用。就这样。


两轮电面,烙印*2;yahoo也是按组招人,我这个是edge team的,去做apache traffic server。。。

第一轮

看简历——你写过WebSocket相关的东西啊,WebSocket有啥好处,相对于poll?WebSocket怎么握手?. From 1point 3acres bbs

问C++,什么是polymorphism,C++怎样实现的?

process vs thread. 鐗涗汉浜戦泦,涓€浜╀笁鍒嗗湴

HTTP Cache是怎样实现的?

top命令里有几个内存占用,分别是什么意思?那虚拟内存是什么?

写题:

给你这么一个列表,['a', [['b', ['c'], 'd'], 'e'], 'f'],输出:

List 0 a

List 1.0.0 b. 鐣欏鐢宠璁哄潧-涓€浜╀笁鍒嗗湴

List 1.0.1.0 c

List 1.0.2 d 鏉ユ簮涓€浜�.涓夊垎鍦拌鍧�.

List 1.1 e. 鐗涗汉浜戦泦,涓€浜╀笁鍒嗗湴

List 2 f

1小时后发邮件约第二轮

. more info on 1point3acres.com

第二轮

看简历

问C++,什么是static member function,什么是static member variable,non-static member function能访问static成员变量吗;

如果想修改一个const instance的成员变量,应该怎么办?我说cast,虽然不好;他指出说应该用mutable

写题:

实现strstr。你是不是满足所有边界情况了?怎么优化?“可以用KMP,先预处理。”不能用额外空间呢?“呃……嗯……” “其实这个没法优化了” “@#$%&@”

你知道hashmap吗?写一个string->string的hashmap。然后自己脑抽写了个vector<vector<pair<string, string>>。。。

你知道vector怎么添加元素吗?那你觉得应该怎么优化?然后改成链表的,最后删链表的时候漏了一行检查NULL,提醒了一下马上改过来了。。。


面我的叫做Rahul Teotia, 是邮件后端组的,各位以后碰到他要小心了。

面试内容,上来谈简历,楼主说自己做了个网站,他就一直问,我简历说,实现了log in function。他就问我,你这个怎么实现的呀,json file是什么,和数据库又怎么打交道呀,问的我晕晕的。然后最后一个问题,我实在是听不懂了,我就说下个一个问题吧(三哥英语大家懂的)

然后直接codepad做题。题目是leetcode three sum closest(翻版,要求返回的是那些数字)。 要了两个hint(有误导我的嫌疑),然后做错了。

全程没有其他人面经的java 问题,没有数据结构问题。


今天下午面了雅虎Mail组, 我是二面。 (不过要吐槽下雅虎面试codepad也没一个,用google document写的代码)

因为申请的是front-end intern,所有问题基本是前端知识,发出来给准备front-end的伙伴看下

算法题,超级简单,我之前准备了那么多,结果听到题目都有点无语。。打印1-1000的质数,然后问了问复杂度

接下来就是front-end related的问题了

1.正则表达式匹配valid email address

2.说一些ES6的新特性,我写了大概4,5点,面试官又问了一个新的点,我其实是知道的,就是没想到,还是答出来了

. 鍥磋鎴戜滑@1point 3 acres

  1. const和let的特性

4.什么是responsive design,现在有什么technology是帮助responsive design的

5.简述一下CSS Flex box的特性

6.如何评判一个网页的性能

7.有没有用过前段打包

&

测试工具(测试我没用过,就直说了没有)

8.有没有用过rest tool 没用过

9.web security的东西知道多少(只听说过SQL注入,他问了XSS. XSRF,答曰不知道。。)

10.React组件的生命周期(因为我用过react 所以问的)

最后问问他有啥问题。

.1point3acres缃�

如果有面mail组intern的,注意多了解一下这些前段的知识,感觉面了2次,算法都比较水。


刚面完一面,新鲜的很。stage 1. 一上来小哥先叫我介绍一下一个project,然后他介绍了一下他们组做什么,他是membership组的,这中间我很热心的问了几个关于他们做的东西的问题,他们组很大啊。这一部分就花了整整二十分钟。。。

stage 2.一些java基本概念问题。1. 列出一些java method的motifier,比如public,private,我说了public,private,protected,static,abstract,final,然后小哥让我解释一下每个 2.abstract class和interface分别什么情况用 3.array和linkedlist差别。

stage 3. 算法题目,这次竟然完全口述,没让写码,真的很神奇。 1.给一个list,全部是整数,然后让删除重复的,输出剩下的, 要维持order。example:input:3->1->2->1->3 output:3->1->2。我一开始给了一个O(n)的解法,就是遍历list一遍,然后用hashmap来记录点,重复就删除,但是小哥说能不能不要用其他data structure,然后我就说那就暴力解,O(n^2),之后还想尝试有没有更好的解法,但是没想出来,就问能不能给点hint,然后他说那不维持order,能不能更优的解法,我说那就sort这个list,然后删除重复的,然后就move on了,没继续问。 2.给一个文件,文件包含了一大堆username,给这堆username排序,但是constrain是memory space有限,我就说把所有data分group,每个group内部先排序,再merge所有group,然后问时间复杂度多少,我说O(nlogn)

stage 4. 问小哥一些问题,然后一小时到了,小哥就说要挂了

感觉自己整体答的不是很好,毕竟口语不好,像概念题都知道,但是说的不好啊,感觉说的不清楚,感觉面试整体体验不错,小哥挺和蔼的,如果算法题目要是写代码,感觉可能能解释的清楚一些,纯口述对于口语不好的我来说真的难啊


第一个是国人大哥, 让我自我介绍一下,然后出了一道几乎是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


二面刚结束,面的不好,赶紧来汇报一发攒攒人品。。

一面:

印度小哥

先聊了15分钟简历

lc 151, followup lc 186

lc 226

都挺简单的

二面:

印度大叔. 1point3acres.com/bbs

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

  1. lc 20

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


这两周面完的yahoo mail backend电面,组里用的是complete JAVA stack和一些NoSQL的技术,非常感兴趣:

电面一,面试官印度哥:

a.找出数组里两个target的最近距离;

b.LRU简化版,可以用linkedlist

电面二,面试官印度姐:

a. 利口妖妖灵-google 1point3acres

b. 实现一个简易读写锁,因为不会java mutex那些东西,最后就是按照她的需求implement了一个


一面前半小时问了一些基础问题,ipc和tcp/ip coding是两道 find lowest common ancestor 的变化版本(更简单了),merge two sorted linked list

二面比较虚,那个叔叔问我写c++或者c吗,我说我写java的,感觉他有点失望 然后直接coding了,题目是给你一个array 让你count所有element的出现的次数,刚开始是int ,followup是变成了string array 然后分析时间复杂度 和如何test 面完之后感觉这个叔叔对我不是特别满意

results matching ""

    No results matching ""