我salesforce的面试是几周前了,所以有点不记得了,第一道题我就真的一点不记得了,但是知道问了很多data structure的问题比如runtime of hashmap, runtime of xxx, 总之第一个面试面试官很关注runtime和space complexity.
第二个面试是behavioral,是一个lunch interview,就是边吃饭边问你什么biggest technical challenge, 什么your proudest project etc.
第三个面试是你有100个server,让你implement 一个function, 这个function take in start time 和end time,然后返回boolean, 返回是否可以reserve 在给的时间段来reserve 一个server。之后不仅要return 这个值,你还要internally update一下。我可能没说太清楚我给你们举个例子啊。比如我有100个server,然后之前已经有99个人call了我这个function,然后这99个人pass in的start和end time都一样,那样的话如果第100个人再要call reserve server 这个function, 然后pass in 一样的start 和end, 那么就要return true,因为我们有100个server,目前只有99个人reserve. 但是呢如果第101个人要reserve,那么就要return false 了。
第四个面试是给你一个dictionary,里面有location name,比如说seattle, seattle wa, boston etc etc. 然后呢让你写一个function, parameter是一个string, 比如“hello world seattle", 然后你要return 2个index, 返回的是这个词出现的初和尾index,比如说这个example st ring里面就是返回13 和 19.我数数不好啊 大概就是这么个意思。再举个例子,比如给的string是”seattle"那么就return 0 和 6.
10月11号左右学校career Fair投的简历,当天通知第二天面on campus。
on campus面试官是个三哥哥,但是没有口音人也很nice,题目是利口珊儿山,还有一些网络方面的基础知识,面试很快30分钟就结束了。
面完第二周就通知onsite,约了11月13号西雅图。onsite两轮面试,第一轮50分钟bq+利特扣得er玲玲+伞久思,第二轮一个小时 蠡口药物三+每个字母有固定值(like A=1, B=2…)
Input一个string求连续substring的和which小于100且尽可能大。第二场面试官一上来就做题然后做完题剩下30分钟尬聊
emmmm
周一面完今天HR就打电话来给offer啦,西雅图的site, Infra的Computing Group
1)valid parenthesis
2)2 sum
3)java basic concept
4)javscript basic concept
5)hiring mgr bevavior round
1, CSS优先级, 多表查询
2, course schedule (DFS 花了点时间,直到最后才跑过了test case 不顺利)
3, 树的节点有公共parent节点,并返回所有这样的的node (简单答上来le) + 基本知识胡乱问
Failed 后来知道有一 个更强的阿三答得比较好,当前公司背景也比较好
- 和两个不同组的HM电话交流。
- 电面:
a. 说说的做过的project,花了不少时间。
b. 2 demension grid of 0 and 1, find largest recetangle with all 1s.
我只写了个用多重for loop的解法,就没时间了。
第2天,我问了同组的两个同事,一个用了DP解决了,另外一个用了很精妙的办法,搞了个好牛的solution。 他说是自己想出
来的,花了几个小时。
过了两天,recruiter说让我去onsite。 (只能说他家现在bar比较低?)
Onsite:
- 设计题, tinyurl. (没想到,现在还有人问这个题目的)。
- 设计题, 数据采集,处理,提供给ML pipeline做training,然后给最终用户使用。
强调的数据的consistency, persistency, 如何处理各种异常状态。 - coding,查看binary tree是不少包含另外一个子binary tree. 要求,子tree必须是match到leaf level.
说了几个思路,面试官很nice的建议说,最好别那么做。最后是用recursion解决的。coding没有最后写完。 - 最早定的面试官时间上冲突,最后confirmed的schedule上就少了他。
- HM: BQ,问到 底想做啥,问什么对他们有兴趣。 (中午饭,没吃几口,下午结束的时候,人都要饿晕了)。
1: 30mins with an engineer
2: 1 hour with another engineer
3: 3 hours onsite with one engineer and several man agers
4: 1 hour with a vp
第一轮 lc 384 而且要求能证明 为什么是正确的算法,
ood design card games
第二轮 lc 528
第三轮
如果一个网站很慢, 怎么debug
implement a binary tree class with
two methods
String Serialize() convert tree to string
void insert(int val, boolean isLeft)
make it t hread safe
本质是 read write 线程安全
第四轮 642
投的sde NEW GRAD,做了个OA,然后约的电面 。 是一个貌似只入职7个月的美国妹子给我面的。 一道题:
给两个string list,return string that is only in one of the list.
比如a = [‘a’,‘b’,‘c’,‘d’] b = [‘b’,‘e’] return = [‘a’,‘c’,‘e’]
先用set写,写了一半发现写不下去了就用Hashmap写,心想肯定挂了。 然后扩找到k个list。 要求尽量减少时间和空间,我每写一个版本她就说可以更快或者时间可以更少。。最后写到1个小时差不多结束, 各种提示。。
和manager一起吃了午饭 同时组里刚来没多久的manager也一起 讨论了一堆BQ以及怎么一堆service availability scalability的问题
最开始两轮tech interview还好,最后两轮是印度姐和印度哥。
印度姐全程笑眯眯,然后问的题目也不难 coding前确认了下requirement 然后开始轻松coding,全程不主动和我交流。
然后coding完问有没有bug,我说没有,印度姐强行挑出两个,我说这些不都是我在coding时候和你确认过的requirement吗?然后我说很简单 我稍微修改一下就好了,改完印度姐面无表情说来聊聊性能。。然后我给她改了一个性能更好的. 然后继续目无表情的和我聊extended design
最后一轮印度哥上来就说 你懂多线程吧 咱们今天就考多线程,来来来,先写个multi user read/write access control热热身,我瞬间有点懵,瞬间感觉要凉。。。问了一堆后然后写了一些后 印着头皮说实在写不 下去了 给点提示。这哥们就改reequirement 开始要写thread safe 的rate limiter。。 然后和他聊了一堆 实在没法这个问题实在答不上来 时间超了一大截 最后只能灰溜溜的结束。