VO
vo1: 没表情的印度小哥 bq:most challenge project, 因为我说我是转专业他就问了struggles in learning CPSC coding:ood file system vo1: 开心的白人大哥 bq:most challenge project,learn something new coding:LC 200 number of island vo1: 口音欧洲小哥 bq:tight dealine, follow up有为什么你觉得这样做重要 ,coding:用户输入一个range [a,b),a是start,b是end,设计api满足可以添加一个range,删除一段range和查找一段range存不存在
------------------------------------------------------------------------
Telephonic Interview: . ---- Given the positions of houses and routers on a horizontal line, return the minimum radius of the routers such that all houses have wifi. All routers have the same radius.. Example 1: Input: houses=[1,2,3], routers=[2] Output: 1 Example 2: Input: houses=[1,2,3,4], routers=[1,4] Output: 1 Example3: Input: houses=[1,5], routers=[2] Output: 3 Similar to - LC 475 Heaters
Onsite Coding Rounds: 1. "Find minimum distance from all amazon lockers to all other locations. It was similar to - LC 542 01 Matrix 2. LC 139 Word Break .
System Design round: "Design Amazon Prime Video Recommendation System"
----------------------------------------------------------------------------------
刚面得亚麻,一个四轮,每轮都是大概30分钟的BQ. 然后一个easy-mediun的题目。最后剩下5分钟左右问问题。 四轮的题目都比较简单,我都没啥印象了,虽然刚面完不久。 其中一轮,有个ood design. 说要设计一个城市交通管理系统,来管理不同的vehicle. 让你设计数据model. 然后说明如何实现几个API: 比如,如何得到这个城市所有的车辆;如何返回需要maintenance的车辆,等等。
----------------------------------------------------------------------------------
今年2月中面的L4 SDE。其中一轮纯BQ,其他三轮都是BQ,Coding各30分钟。 BQ方面4轮下来,基本上所有LP的点都cover到了.calculated risk, make mistakes, learn new things, disagreement with manager/senior, earn trust, insist on high standard。基本LP上所有的点都问到了。 Coding:
OOD:evaluate expression。题目是给你一个多项式,比如 3x^3 + 9x^2 + 7x + 9,让你实现两个功能 第一个功能evaluate(expression, x),给你x的值,让你返回这个多项式的值,比如上面这个expression,那么evaluate(expression, 1)就要返回28。 第二个功能是prettyPrint(expression),返回一个string,代表简化之后的的多项式的表达。比如如果多项式是 2x^1 + 7x^1 + (-5x^0),那么这个函数应该返回 9x - 5 assumption是这个多项式只有乘方和加减法,并且只有一个变量,不过这些都要做之前跟面试官确认清楚。
蠡口耳伞霸238 LC 238 Product of Array Except Self
给你一张家谱图,让你判断两个人是不是有同一个祖先 总体来说Coding比较简单,大家面亚麻的话还是要花功夫准备BQ呀
----------------------------------------------------------------------------------------
BQ:1. out of responsibility 2.自己project交给别人maintain的经历 3. calculated risk 4. limited information Coding:LC 1044 Longest Duplicate Substring
--------------------------------------------------------------------------------------
剛面完亞麻 SDE 的 techinal phone screen,(OA 測資全過不曉得為什麼沒有直接 VO,加了一輪店面) 不用開攝像頭,聽口音是個白人小哥,上來先自我介紹,然後講解接下來的步驟:self introduction, BQ, coding, 反向 BQ.... BQ: 做過最 challenging 的 project/ task? 怎麼克服?最後結果怎樣? 有學到什麼? Coding: 給一個 startWord, 一個 endWord, 一組 dictionary,每次只能變換一個字母,求使用 dictionary 裡的字從 startWord 到 endWord 的路徑。LC 126 Word Ladder II,加個 list 去記錄走過的路徑就好。 反向BQ: 在 Amazon 工作最吸‍引你的地方是什麼?組裡有 run agile/ scrum 之類的嗎?
------------------------------------------------------------------------------------------
三轮都是常规BQ,没什么特别的第一题是ood,设计扫雷,完全没准备,跟面试官边沟通边写,写到initial 完里面所有炸弹和周围的数字就没时间了,寄 第二题简单题,LC 242 valid anagram输入两个string, 是不是里面字母的排序不一样,先假装用hashmap,然后边写边演戏,假装突然想到用int[26]秒了 第三题可能刷题网有原题,给一组log,里面的数据是【timeStamp,customer ID, String 浏览过的页面】,然后return list<出现频率最高的包含三个页面的sequence>。我给的思路是用两个hashmap, 一个存 <customer ID, list<页面>>,然后再根据这个hashmap的value Entry 用sliding window建一个<sequence,countTime>的hashmap,然后retrun countTime最多的sequence。 给出思路以后写到中间用sliding window那里就蒙了,我尝试用queue去实现这个sliding winodw来滚动生成这些sequence,结果越写越乱,还是实力不够...面试结束才发现面试官礼貌的让我多写了15分钟 面完就麻了,伤心总是难免的💔, move on了
---------------------------------------------------------------------------------------------
非常非常慢的面试流程。二月中HR开始约phone interview。3月2号电面,主要是BQ。题目是最简单的LC 200 ,一个简单的follow up,如果左边越界就从到最右边接着找,其他方向上的越界同样的处理方式。 3月7号给hr发邮件问feedback,说过了,两三天会约onsite. 3月11号接着发邮件问下一步啥安排,hr说下周早些时候约onsite,感觉是要悲剧的节奏。 今天上午uber的phone screen,一个小时后就说过了,开始要移民的表格。去年面过uber,两天后说电面过了,然后hr就失踪了
-------------------------------------------------------------------------------------------
韩国小姐姐,人不错,问了一道LC 140 Word Break II,我用记忆化搜索做的,在她的提示下,又说了一下trie怎么做。
白兄,也是bar raisr,系统设计面试,问了我一道如何设计The weather network这个app,交流还行,经常说good good,也不知道是不是真的
天竺三哥!!!!!!迟到10分钟,全程不开摄像头,经常mute mic,然后给我了一道LC 460 LFU。。。。。。。。。。。。。。。。。。。。。
老毛子兄弟,人不错,我感觉像ood,出了一题find command,就是让你设计一个文件系统,然后让你设计一顿文件系统filter,比如找出所有大于5mb的文件,所有以sb开头的文件之类的
----------------------------------------------------------------------------------------------
4轮,每轮30分钟BQ,25分钟coding,5分钟反BQ。 第一轮coding 刷题网1+15 LC 1 Two Sum, LC 15 3Sum 结合的一道变种。 第二轮 给了一段String,要求替换这段String当中存在的所有的隐私信息,姓名电话号码地址等等 第三轮 设计一个Unix系统中top command的api 第四轮 到底也没搞懂题目是啥意思,设计题,有点像API设计,也有点像LRU,但是就是不一样,说不出来反正。
----------------------------------------------------------------------------------------------
VO三輪每一輪45分鐘,面試官開頭都沒有自我介紹,直接開始問BQ 20-25分鐘,之後進入coding。因為很久沒刷題了也沒有在準備面試,感覺自己答的極其糟糕,基本都沒寫完,寫完的很多也沒全寫對,有一輪沒有機會Q&A。沒想到第二天直接email了offer,令人不得不懷疑是群發的。 VO coding題目
Design Amazon locker and package's data models, and design an optimized algorithm to efficiently fit the package into the right locker.
LRU cache + BST subtract all the numbers at its left for every node.
Array是不是consist of only continuous integer + design an algorithm to count the number of visits in the last minute for a single host. (這個我直接不知道要幹嘛,問了半天clarifying questions最後直接說我不會了)
--------------------------------------------------------------------------------------------
贴一个 push o(n)然后pop o(1)的答案
------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
面经: 第一轮:阿三老哥,人很好,有点口音,但认真听问题不大。这轮发挥的很完美,考的OOD,让设计一个选课系统,学生可以在上面选课,加课,删课 第二轮:国人小姐姐,这轮发挥的一般,我理解错题意了,后面才反应过来。题目是给一个string,输出所有的subset 第三轮:白人老哥,也是完美发挥。题目是给一个binary tree,找到和最大的subtree。因为题目简单,问了很多的follow-up 整体下来,面试感觉很好,很舒服,也让我觉得自己的努力得到的了回报。希望我的帖子能帮助到各位,祝福地里的各位也能顺利上岸!
------------------------------------------------------------------------------------
三轮都是常规BQ,没什么特别的第一题是ood,设计扫雷,完全没准备,跟面试官边沟通边写,写到initial 完里面所有炸弹和周围的数字就没时间了,寄 第二题简单题,输入两个string, 是不是里面字母的排序不一样,先假装用hashmap,然后边写边演戏,假装突然想到用int[26]秒了 第三题可能刷题网有原题,给一组log,里面的数据是【timeStamp,customer ID, String 浏览过的页面】,然后return list<出现频率最高的包含三个页面的sequence>。
这题的输入是String[][],一个log是string[timeStamp,customer ID, page],有多个log所以是二维数组。 另外假如customer A的浏览记录是D C B E F, 而B的浏览记录是F C B E D,那就应该返回 C B E,因为只有C B E这个包含三个page的sequence出现了两次
我给的思路是用两个hashmap, 一个存 <customer ID, list<页面>>,然后再根据这个hashmap的value Entry 用sliding window建一个<sequence,countTime>的hashmap,然后retrun countTime最多的sequence。 给出思路以后写到中间用sliding window那里就蒙了,我尝试用queue去实现这个sliding winodw来滚动生成这些sequence,结果越写越乱,还是实力不够...面试结束才发现面试官礼貌的让我多写了15分钟 面完就麻了,(ood: 可以搜一下,我大部分看的youtube,九章也有讲过一些。 我准备了parking lot,amazon locker,elevator这种的,完全都没用到,唉,我当时initial完炸弹以后连周围是有八个格子要+1都忘了,我还以为是四个格子,还是面试官提醒的我)
------------------------------------------------------------------------------
4轮 第一轮: Dfs + 各种follow up。 LP 2题。烙印但是和气 第二轮: bar raiser,一个扫雷题。 LP 2题, raise the bar 第三轮: HM, System Design,如何update kindle version。LP 2题,和气 第四轮: 烙印,阴阳怪气,各种有事。各种需求一直在变,也一直在根据需求改代码但都很快弄出来。
----------------------------------------------------------------------------------------
tight deadline
help peers 之后考了算法:
------------------------------------------------------------------------------------------
3.9 vo第一轮: 扑克牌的题 有点类似 card shuffle 但是有不一样的规则(每张牌有自己的属性) 要计算玩家的得分 第二轮:amazon locker 找到最适合的locker (比package size 大的第一个 locker) 第三轮: library dependency 经典dfs 比如 a->b, b->c; 这样a 和 b 就是 depend, a和c也是;edge case就是 circle 的情况;用visited set就可以解决了 3.15 offer
----------------------------------------------------------------------------------
3/10 VO VO1 amazon behavior question 白人面试官很nice给了我很多建议,coding 部分是 给我Json input 让我print 出来里面的key and value 本来用了for loop 后来说可以用recusion 面试官说这个是我想听到的但是没时间了就开始我问他问题环节 VO2 也是amazon behavior question 是一个印度小伙子,很爱笑,coding valid parenthesis 先说了一下edge case 聊了time 和space 最后run 了几个example VO3 同样也是amazon behavior 印度女生,很positive 她说她换了组之前,而且在微软工作过 coding 是 min swap of grouping 1 and 0 .-- LC 2134 Minimum Swaps to Group All 1's Together II 很快就做出来了,她问我要不要再来一题,我拒绝了,因为我想多聊一下她的换组的经验,还有就是怕下道题万一不会做就完蛋.
----------------------------------------------------------------------------------
平易近人的印度面试官 bq:help peers in need + 简单的问项目follow up quick decision code: 输入是代表起点和终点的机场Map 也就是key是departure airport,value是arrival airport, (输入只可能组成单向的长链,不可能有图或树) 返回这个长链的字符串形式 例子: input:{A: B, C: D, B: C} output: A -> B -> C -> D 感觉最后解释我的算法的时候说的跟喝了假酒一样,另外test完第一个case之后面试官让我test个空的输入我愣是听不懂他在说什么,让他重复说了好多次。。。
---------------------------------------------------------------------------------
最近面的VO,总共四轮,难度不大,没好好准备裸面,不出所料挂了,试个水。 求大米谢谢!!
merge k list 变形 LC 23 Merge k Sorted Lists
读文件,根据规则对文件内容filter,比如一行的字节数< 80的不要等
system design - design amazon locker
--------------------------------------------------------------------------------
input 二位数组 和 dictionary contains words, 求数组里面有多少word
--------------------------------------------------------------------------------
第一轮 15 mins BQ + 30 mins Coding BQ: most challenging projects ( didn't know what to do next or/and fail to solve the difficult problem ) follow up: why do you categorize it as a challenging problem? + what was the outcome? + how do you exactly learn new things? Coding : OOD 设计一个doggy care 的reservation system 我觉得OOD问题整体对于我来说比算法题目还是来得简单一些,主要考察的还是coding style和model design,一般问题本身难度不高,做题的过程与面试官的沟通更为重要。
第二轮 25mins Coding + 10 mins BQ Coding: Given a skyline, your goal is to get to the furthest building possible. It doesn't cost you anything to move to the building ahead of you if it is at the same level or lower. However, if the building is higher, you must use either bricks or a ladder ( ladder let you scale any height difference or you must use N bricks to scale a height difference of N).
写码之前先跟面试官沟通了下解题的思路,过了一遍dfs + memoization的思路,讨论了下时间复杂度后问是否有更优的解法,之后用了dp 做了一遍,还剩一点时间面试官给了一些提示可以用贪心解决,最后以贪心O(N)的解法结束coding BQ: Talk about a time you made an independent decision without consulting a supervisor or professor? Final Round : 20mins BQ + 20mins Coding BQ: tight deadline + goal you set for yourself that took a long time to achieve and steps you make + resolve conflict + how do you work in a large team Coding: find k maximum 变形 第一次经历三轮连续的VO,在最后一轮真的脑子糊的不行,先是一轮的bq轰炸,我以为最后一轮bq应该相对会少一点没想到是重中之重😢 整体来说的话,整个面试基本bq占一半的时间,之前还有侥幸的心理认为ng 应该不会考很多bq也不会考ood没想到都遇到了。准备amazon的bq地里也有很多面经和案例,我主要是先针对高频题准备1到2个case, 在面试的过程中在随机应变进行套用。 希望对大家有帮助也求求大米赞助下地里的小白菜!
--------------------------------------------------------------------------------
VO: 第一轮,问了一个bq,老哥说:你cover了所有的points,可以去写题了,题是一个list,找所有组合词,ex:[pineapple, apple, pine, pie, pimple, ape] 返回pineapple 第二轮,这轮好chill,bq过后利口匙珥,这题因为自己刷做出来了没看过solution,也不知道写的简便与否,本来处理4跟9,但老哥直接让我把这俩数放map里,最后问我为什么不把所有数放里面hhh 第三轮,fba amazon,给percentage和list of products(含id和销量),返回top x%的id as a list,问了big O,最后开始bq 三轮1.3都是alexa的,其中3是sdm,2是ex alexa的,bq题目我没记住TAT,差不多地里其他人面什么就是那些,没什么意外,希望大家面试一定要放松! 本科转码选手,也是人生第一次sde interview,本来以为自己这辈子都不配写码..可能是运气+努力吧,如果有uu感兴趣,我也可以写写自己经历
---------------------------------------------------------------------------------------
是一个比较友善的天竺大哥,上来大约2,3分钟的intro。然后直接开始做题,lz没见过那道题,但lz后来去看了下是number of island. 我直接跟他说我只能想到brute force,他就跟我说那你就讲思路,然后写,结果一个brute force 我写了整整一个小时。。。。虽然最后还是错的。写的时候我不停的跟他解释我在干嘛,然后大哥也帮我看哪里有错。我本来很紧张,但我发现我写不出来的时候反倒心情平静了下来,然后他跟我说的bug我也能比较快的反应然后改掉。真的很感谢这个大哥,写的过程中他一直跟我说take your time,写完之后口头简单的过了一下test case。最后5分钟 两个BQ, 问题是doing work without asking professor or manager 和 help peers 无 follow up, 最后两分钟反向BQ。 总结:lz在面amazon前只刷了130多道题,而且没有好好复习graph(我其实一直很讨厌graph,抱着侥幸的心理果然遇到了最不想遇到的题。然后大家面试的时候千万不要紧张,要积极地跟面试官交流,不要因为卡住了就沉默,你就当跟同学一起讨论题。我觉得面下来整个过程蛮舒服的,虽然没有把题做出来,但是和面试官聊的还不错哈哈哈哈,我就一直对他笑。。。。(内心其实满焦虑的)。也很感谢第一次面试就遇到了很nice的面试官!! 最后:大家一定一定要好好看Blind 75!!!!!!!!!
--------------------------------------------------------------------------------------
从12:30pm 面到 2:30pm PT,一共三轮。 每轮都是bq + coding
1. bq : 最自豪的项目 项目怎么优化的,evaluate 优化 说一个帮助别人的故事 coding: 给不同的formulas,输入一个会update的address,输出收到影响的address eg: ["A1 = 1","B1 = A1 + 1","C1 = B1 + 1","D1 = F1"] input:A1 output:[A1,B1,C1] 根据别人跟我说的建议,先说brute force,再说优化的解法。 我就写了两个for loop暴力写出来。没想到面试官跟我讨论输入用什么数据结构,数据格式什么样的,扯皮了一段时间,有多余时间应该可以用bfs写出来。 最后解法写了一个
2.bq: 告诉我你曾经跳出舒适圈的一段经历 设计一个passwordChecker 判断password长度是否大于6 follow up 判断password是否大于7,是否有多余1个数字 follow up 判断password是否大于10,小于30,10个特殊字符之类 这道题有点像OOD,问题不是写实现功能的方法就可以,是需要能够写能够复用的代码使得能够适应新的要求。 所以,最终我写了一个interface,然后用不同的类去check不同的条件,比如说digitChecker,lengthCheck 之类的 实现统一的接口 follow up 能想到什么testcase
3. 讲个你快赶不上DDL的故事。事后才知道这个问题好像经常被问到,我答得一般 Coding就是给定一个String数组,里面包括customerId,timestamp, 数组是根据timestamp sorted。 例如["abc,10","abc,200"] 表示客户abc在timestamp 10时候进来,200离开,那么stay了190。找出呆了最久的客户。 我的思路就是用一个hashmap 记录customerId,entryTime, 遇到第二次就做差比较最大值,大于的话就更新。 follow up: 客户来了多次,求呆了最久的客户。 用一个数组,index 0 表示进入时间,1 表示呆了的时间.
--------------------------------------------------------------------------------------
今天刚面完的面经:共四轮,每轮先BQ 然后 livecode 写题;
R1:BQ -- change project, 还有啥忘了,都是比较general的BQ问题,然后 OOD --> design package filter libary, make the condition more flexible in the future. 楼主答得不好。
R2:BQ -- the project you involved but don't know what to do, most challenge customer, 然后 蠡口 伞 LC 3 Longest Substring Without Repeating Characters;
R3: BQ -- project miss customer commitment,how to handle that, project with tight timeline. 然后SD: implement web based Rate service;
R4: BQ -- how to handle that, project with tight timeline, 然后,出了个 minimum spanning tree,楼主就没学过这个algorithm,真的写不出来,可能还是太菜了吧。之前一直没面过amazon,只听说过这个算法,没看过具体实现,栽了。 大概率应该是挂了,大家还是不要偷懒,该学的算法还是看一遍写一遍。
--------------------------------------------------------------------------------------
第一轮OOD: 设计battleship class,两个玩家,每个玩家一个10*10boards,可以在板上放置你的不同size的battleship,对手看不到你得放置。 对手可以每次攻击你一个1*1的square,可以得知hit/miss结果,如果全部战船被hit,玩家输掉。
第二轮OOD: 设计amazon locker。locker 有不同的size,要求给出一个package的大小,寻找最优解的available locker。 可以用map做
第三轮coding: 大概利口也有吧,我刷的太少了没见过。N个城市M条路,路是directed。 input有a set of roads,要求output所有city that is reachable from all other cities. 大概就是dfs + visited 解,我这个面试官嫌我做的太慢了可能, 比较push。所以在他的指导下fix了一些。
大概率凉了 Recruiter把我和另一个candidate的meeting room link 给错了,所以前三个面试开始前十分钟都在figure out 这个混乱的情况,我的面试顺序也全都被打乱了。-1 亚麻recruiter :(
--------------------------------------------------------------------------------------
第一个是美国人: 开始BQ,比如时间紧,最有挑战的project coding: 关于matrix。chessboar with knight。参考leetcode 688 Knight Probability in Chessboard
,但是变种。他让循环1000次,在这个1000次里面,求the average of moves that knight is out of bound. 比如,1000次,每随机走10次,knight就会out of bound。平均数就是10。 而外要求:easy extend, easy change PS: 反正我是尽力了。最后没写完。但是把之后的思想告诉他了。
第二个是美国人: BQ很多,忘记了。但是都是高频的 coding: //// Coding question
// As a contributor to a raster graphics editing program, you are tasked with creating the fill bucket tool.
// Write a program which accepts an image, a location within that image, and a fill value, and fills
// the specified location and its surroundings (up to any boundaries) with the given fill value.
// Bucket fill is the process through which some subsection of an image is filled with a single color. The subsection is defined as
// a single contiguous grid of pixels with the same value. Its borders are defined by values other than the value at the point in which
// the fill is specified.
0 0 1 0 0
0 0 3 0 0
1 2 0 0 0
1 2 0 0 0
0 0 0 0 0
input: fill(matrix, 0, 0, 5)
result:
0 0 1 0 0
0 0 3 0 0
1 2 0 0 0
1 2 0 3 2
0 0 0 2 2
/
/** ps: 用recursion,这一题写出来了
第三个印度人 说话听不太清楚,网络不好。 BQ:tight deadline,not information to make a decision 还有两个忘记了 code:given List<List>比如:[b->l->o->p->X, A->w->P, z->x] 找出common parent。ps:箭头前边是child后边是parent 要求再写个 function: commonParent(String a,String b):找出这两个的common parent ps:没写完,但是思路都给他说了 time complexity 和space也说了
--------------------------------------------------------------------------------------
1.第一轮 coding是判断两个字符串是否有相同的字母,且字母个数相同。 follow up了 你觉得在time complexity上 怎么去提升,是不是最小就是O(n)。 之后BQ问了 Tell me about a time when you saw an issue that would impact your team and took a proactive approach to solve it. follow up:你有没有在这期间 主动帮助别人。 2.第二轮 bq 先介绍自己,然后根据我说的 follow up了 你为什么有动力去更新这个算法,去更新这个策略。 coding 是 zigzag输出 binary tree, 就是第一层从左到右,第二层就要从右到左遍历,楼主比较菜,没记起来层次遍历python怎么写,就跟他说层次遍历可以用pseudo code吗? 3.第三轮 bq 先介绍自己,然后问了我有什么项目对自己来说有比较大的挑战。 coding 是ood设计,设计一个API 去实现搜索一定条件的文件。总体来说做起来和interviewr交流比较多,是三轮feeling 最好的。
--------------------------------------------------------------------------------------
第一轮:HM 面的 system design, 要求构建一个 monitoring dashboard,监控服务器运行状况
第二轮:给一组数,找到所有两个数加起来是2的指数的个数,不同的index 就算不同的数,比如[1,1,1,2,2,3] -> (1,1), (1,1), (1,1), (2,2), (1,3),(1,3),(1,3) 所以返回值是7。这题我先用暴力解做了,然后没想到优化竟然要了2个hint 才想出来,觉得要挂了。
第三轮:OOD,设计一个resource pool,怎么调用资源,考的是thread safety。
优化应该有条件吧,比如输入数列的最大值。比如上线是2的30次方,很大的一个数,然后用哈希表就可以做到O(30*N)
--------------------------------------------------------------------------------------
第一轮: 无自我介绍 直接做题,感觉是非蠡口题,给文件里的timestamp排序,写了之后再优化了一下,然后bq make decision not consulting manager 第二轮: 自我介绍+ bq dive deep group project someone not complete on time 然后ood 设计一个类 可以实时加新的数,返回两组数的union和intersection 第三轮: 自我介绍+ bq when you done some work and realize之前做的不好 需要改进 然后他说 好像也是ood 说了一下要实现的功能,然后写完之后又加一些功能,感觉是经典题LRU Cache的翻版,很快做完之后时间还有多 问了follow up 再问了一些多线程相关的问题
--------------------------------------------------------------------------------------
三轮:
BQ问如果让你选会选择什么框架来搭配前端. 让设计一个批量处理iterable的函数.
BQ问一次赶ddl的经历. 代码是设计一个class 可以serialize和deserialize tree. 简单来说就是把一个树变成字符串又变回树 LC 297
BQ问同时处理两个ddl的情况. 代码是merge two lists 附上一些找到的资源: 以下内容需要积分高于 180 您已经可以浏览 https://www.1point3acres.com/bbs/thread-586203-1-1.html https://www.1point3acres.com/bbs/thread-679738-1-1.html https://www.vawizard.org/wiz-pdf/STAR_Method_Interviews.pdf timeline:
--------------------------------------------------------------------------------------
1.第一轮 coding是判断两个字符串是否有相同的字母,且字母个数相同。 follow up了 你觉得在time complexity上 怎么去提升,是不是最小就是O(n)。 之后BQ问了 Tell me about a time when you saw an issue that would impact your team and took a proactive approach to solve it. follow up:你有没有在这期间 主动帮助别人。 2.第二轮 bq 先介绍自己,然后根据我说的 follow up了 你为什么有动力去更新这个算法,去更新这个策略。 coding 是 zigzag输出 binary tree, 就是第一层从左到右,第二层就要从右到左遍历,楼主比较菜,没记起来层次遍历python怎么写,就跟他说层次遍历可以用pseudo code吗? 3.第三轮 bq 先介绍自己,然后问了我有什么项目对自己来说有比较大的挑战。 coding 是ood设计,设计一个API 去实现搜索一定条件的文件。总体来说做起来和interviewr交流比较多,是三轮feeling 最好的。
--------------------------------------------------------------------------------------
BQ问题不记得了,ddl什么的标准BQ吧,没什么特殊的 第一轮: 比较沉默的印度小姐姐,交流不多 lc 吴思琪 LC 547 Number of Provinces 就霸气简单版 二叉树在有多少列节点,要求返回列的数量 第二轮: 聊天非常愉快的小哥,上来跟我说不要紧张lets have fun,聊天经常笑,bq聊的很开心有来有回的 OOD:电梯系统,只有一个按钮把当前楼层加入访问列表 第三轮: 很和善的白人小姐姐,晚来了5min 检查两个数组中的元素是不是完全一样(可能顺序不同但是元素完全相同) 输入K,交换链表中的正数第K个和倒数第K个节点,要操作指针不可以直接交换value,操作指针的时候有点磕磕绊绊的但还是过了 总体挺开心的,面试官都挺友善的,但我看的别的面经都是一轮一道题,怎么我面试除了OOD都是两道题..万一第二道做不出来怎么办· 顺便问下Amazon和OCI去哪个,OCI给的多一些(RSU),亚麻西雅图,OCI还在想 西雅图或者湾区? ng的包能谈吗 求加米,孩子差米看面经
--------------------------------------------------------------------------------------
前些天面完亚麻的VO, 总共4轮,4个小时,每个小时都是先介绍自己,然后问二到三个的BQ, 然后就是coding,BQ的问题都是亚麻常见的问题,就不一一说了,下面列一下coding的题目,求米
NestedList, 给一个继承iterator的类,参数是List, 求写两个函数,一个hasNext() return boolean, 另一个 next() return int, 这个给了框架,填函数. LC 341 flatten-nested-list-iterator
LRU, 不计较访问次数,最近被访问的放后面, 这个直接裸写
给List, 返回一个List<List>,如果list中的string 是由其它string组成的,返回组成这个string的所有substring, 存在一个list里 .第三题好难啊。 想clarify一下: 如果一个string可以被多个substring组成,也返回所有能组成的substring? 这个是word break ii,加了dp也要exponential..你最后写的咋样? 还有oo design,你design得咋样?
OOD, 写一个数据上传系统,关注性能及稳定性,考虑不同的上传方式,他的速度及稳定性,考虑不同的数据类型,有data plane and control plane 求米看其他面经,谢谢!
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
1. 白人大叔 BQ: Talk about your background Tell me about a time when you have uncertainty/ don’t know what to do Asked very detailed questions about the projects 只考了一个BQ因为聊很多就没时间问下一个bq了
Coding: given two strings, how to tell if two strings are identical? “<” means backslash to remove one character lile, LC 844 Backspace String Compare
For example: A: “follow” = “follow”
B: “folll<ow” = “follow”
Follow up: what if there is more than one backslash, how to solve it?
Example: “folllll<<<ow”
2. 国人小哥 Talk about your background BQ: tell me about a time when you have to face a tight deadline? How do you prioritize the tasks? Coding: given a number of tasks and a list of tasks dependency, return to a list of order to process the tasks. 典型topological sort, similar: 210. Course Schedule II Follow up: how to detect cycle dependency 小哥人超好 说就算转码也不用太担心pip的故事 他的亚麻两年的经历很好 3. 印度经理 BQ: Talk about some internship project 具体问题忘记了 Coding: given a list of stock price, goal to maximize profit, return a tuple of (min_price_index, max_price_index) in order to maximize the profit : 先用 LC121 Best Time to Buy and Sell Stock 得到max profit, 在从头遍历去放进tuple 。最后反向bq的时候 问了一下印度经理的工作心路历程 果然工作20年看问题都是不一样的 说以前都是problem solving 现在是define a problem 这个角度想想管理者每天面对的问题还是挺有趣的 总结:感觉还是幸运的 题目都不难 OOD准备了也没考到 BQ和亚麻LP都没有太卡我的故事。我总结出来的思路就是在刚介绍自己背景和回答第一个问题的时候 讲故事一定不要着急 慢慢讲 讲很多细节 让面试官真的了解做项目的detail和遇到问题处理的方法 最后mention一下在这件事情学到了什么 升华一下主题就好了 – 其实也是给面试官关键词 方便面试官记笔记。 最后祝大家好运 求求大米~~ 感谢~~
-------------------------------------------------------------------------------------
剛剛面完 VO 兩輪,明天還有另外兩輪(應該是因為人在新加坡,有時差所以安排兩天) [Round 1] 自我介紹 BQ: customer feedback, simpler soultion for customers,沒開攝像頭,有 follow up coding: 一題沒見過的。。。給一個 list of paths: [A -> B, B -> C, A -> C],A -> B 跟 B -> C 都是 direct,而 A 到 C 可以經由 A -> B, B -> C 到達,所以是 indirect,求濾掉所有 indirect 的 paths。 Path { 复制代码 因為是沒見過的題,所以給了以下思路,建兩個 map: fromMap<String, List>, toMap<String, List>,key 分別是 path 的 from/ to,value 是其對應的 paths。 找到 fromMap, toMap 都有的 key,找 fromMap value 的 path list 中 to 是該 key 的 path, 以及 toMap value 的 path list 中 from 是 該 key 的 path,將他組合起來成為一個 path 並濾掉。 public List filterIndirectPath(List) { 复制代码 悲劇的是寫到一半 codelink 就沒當機反應了.... 怎麼按鍵盤都沒法輸入,超級倒霉。。。最後只能用口述的講思路,雖然面試官說 it makes sense 但唉.... 還是可能會影響到吧 [Round 2] 一樣先自我介紹 + BQ 先開了攝像頭然後大叔說開 camera 聲音聽不清楚就關掉了。 BQ: negative feedback, tight deadline..... System Design: 設計一個 reminder 的系統,設定 time 跟要提醒的事項,時間到了要 notify user。follow up: 要怎麼 scale up/ fault tolerance.... 發個面經,希望能幫助到大家,順便求求明天好運吧,不要再發生 code link 當機事件了.
給的是只有兩邊的,但這我感覺 follow up 會問到,可能前面沒辦法寫 code所以就沒問了
-------------------------------------------------------------------------------------
Onsite: 第一轮,天竺人。问bq,为啥选择亚麻,举例说明做了哪些不是你的职责范围内的工作。可能是对方话筒不大好一开始有点断断续续的,也可能是口音太重,感觉很多问题没有听清楚。 不是刷题网题。 题目的大意是要你自己写个rate limiter。每个ip地址有个时间戳, 要求一个小时内,同一ip不能出现k次。 得自己和面试官澄清题目,input parameters和返回值。 写了method, pass in了ip, k 和time,返回boolean 。 逻辑实现的时候用了个map, key 是ip,value用一了一个queue来存放ip的时间戳。 每次新的ip进来时候,判断一下这个queue的size, 返回true/false,面试官说这正是他想要的。 第二轮,米国人。问bq, 问了很长时间,比方说工作中用了什么新技术,感觉问题和第一个人很多重复,翻来覆去的问。大半个小时都过去了,我一着急,问面试啥时候面系统设计啊,面试官现在开始吧。 面试官说,可以在纸上画图,用摄像头给他看。 听得我惊呆了,堂堂亚麻,面试两个画图软件都没有,我给了他一个链接画图。 题目是job scheduler, 匆匆画了图,描述了一下流程。 第三轮,天竺女,bq,举例子说处理冲突,举例子说错过了timeline。 题目是设计一个购物cart, cart中有不同的product, product又属于不同的category, 每种category又有两种coupon, 一种是每个product多少钱,一种是每个product多少百分比, 最后计算cart需要付多少钱。 第四轮,美国人。没有怎么问BQ, 二叉树的post order的非递归写法。 这个前不久写过,所以也很顺利。 debrief结果,BQ不大好,系统设计也不是特别强。给了我二十几分钟时间,系统设计各个部分根本没时间深挖。
-------------------------------------------------------------------------------------
印度面试官人不错一直引导 comfort zone + 设计数据结构取高优先级且最新push入的element.
一个白人面试官会问到底,但是人很好一直笑气氛很轻松 decision miss important information have to make upset decsion miss information code: 2d数组中找最合适位置开store,数字代表房子数量,最合适的要求细节自己定
很严肃的印度面试官 achieve goal exceed expection challenge project 项目挖的很细 code: LC 20 validate parentheses
-------------------------------------------------------------------------------------
第一轮 印度哥 N皇后小变形,好久没写拿到手感觉似曾相识但又无从下手,小哥提醒最后好像有些思路了,但是写一半小哥跟我说时间到了你来说一下思路然后咱们来反问BQ,我当时心中就mmp,跟我着闲扯20多分钟BQ,还不让我把题写完。。。感觉要跪 第二轮 印度叔 OOD,当看到题目描述我的心里是崩溃的,为什么ng要考OOD。。。 不过好在脸皮厚,就跟他唠呗,虽然有些嫌弃他口音重。。。还是没有写完。。。 第三轮 白人小姐姐 dp 让找到数组中最大的sum,easy 题 秒了,然后反问BQ 本来以为要挂,已经在看回国机票。。。
-------------------------------------------------------------------------------------
在蕉厂的面试里屡战屡败,屡败屡战,这是毕业这么久以来第一次面到昂赛轮🤦♀️。昂赛之前做了一个oa,总体很简单,最难的一道是利口巴尔巴变体。 昂赛一共四轮: 第一轮:三哥EM,上来就自我介绍了一通,讲了接近20分钟,我一直在盯着时间然后慌得一批,终于25分钟过去了,我们开始进入正题,问BQ。一共两题,有一题是你怎么earn trust amoung stakeholders,有没有什么push back,还有一个我有点忘了。design的题目是有很多temperature sensors,设计一个系统,显示每一个位置的latest 的温度。 我们就crawler聊了很久,我给了两种crawler的方案,聊了聊trade off和use case。然后简单的聊了聊db schema。感觉跟EM聊得很尽兴,这个EM也很technical,问了挺多deep dive的问题,然后讨论,最后还延迟了多聊了5分钟左右。感觉不错,我个人比较喜欢很geek,很technical的人,也很喜欢跟这些人聊技术。 第二轮:国人小哥,小哥很nice,简单自我介绍之后进入正题。第一题是有没用过simplified的solution解决complex的问题,还有一题好像是有没有做过让客户很满意节省了很多时间的东西,开始说了一个写doc,后来又要求说了一个technical的。题就是LRU,没什么可说的。 第三轮:没口音感觉是三哥EM,这个人感觉没有第一轮的EM那么techincal,没有很快能get到我说的system,但是这个manager更资深我感觉,也很nice。第一题是有没有capture过什么metric然后result in code change然后help整个system improve的例子, 还有一个记不得了。 题目是islands那套dfs 的变体,类似有一个image(其实就是islands的那个matrix),然后给你一个row, col 和一个新的color,把connected block换个色。我就是用的dfs,然后follow up是如果这个image很大的话,会有什么问题,怎么解决。 第四轮: 感觉是欧洲小哥,长得莫名像葛优🤦♀️,人很nice,BQ是问你自己学的什么你觉得对你帮助最大,还有一个忘记了,我这记性。题目是Amazon locker, ood。比较简单,就是写一个function来找available size-suited locker。好像也没有什么follow up。后来还跟大哥扯了几句。 大概就是这样,我之前看别的帖子coding超难,面之前慌得一批,但其实我今天的都还好,我看有人遇到的recuiter一问三不知,回信息也很慢,我遇到的这个真的超级无敌巨给力,我感觉她就快把题都透给我了, 感恩,希望可以过,就算解锁人生新成就了哈哈哈哈。 BQ我觉得准备几个事例反复套就行了,然后我也觉得一个面试官不要给太多context不同的事例,还得解释半天,同一个事例,不同的aspect可以换着说可以节省一点解释background knowledge的时间。 大家加油,祝大家都可以找到心仪的工作~
---------------------------------------------------------------------------------------
每轮都是两个bq 问题加若干follow up 然后开始coding。感觉bq问多久完全取决于面试官,有一轮大概就问了10几分钟然后面试官就说开始coding吧,然后有一轮问了快40分钟。。 第一轮:follow up是力扣伞伞伞 LC 333 Largest BST SubTree,原题就是普通的树 第二轮: 青蛙跳那道题 LC 70 climbing stairs 第三轮: OO design rate limiter, follow up是用一个variable存时间的信息 第四轮: OO design 题忘了,不过最后让用代码实现了其中一个功能,就是top k frequent elements 一周之后recruiter通知挂了,没有冷冻期也没给feedback.
--------------------------------------------------------------------------------------- 所有轮BQ占用了一半的时间,根据地里的推荐,好好准备,没有问题。 第一轮 (Bar) buy and sell stock 第二轮:不记得了 第三轮:System Desing: Design a system to store and search log files 第四轮:software package dependence, 类似于course scheduler II。
---------------------------------------------------------------------------------------
第一轮: 自我介绍,又问了product review的testing,coding是dictionary, bq问了1. commitement没实现 2. manager给你tough feedback 3. simple solution for complicated problem 第二轮:自我介绍,又又问了product review的testing, 但这次逮着我问ui testing,coding是string manipulation,bq问了1. team work帮助别人 2. customer feedback 第三轮:我聊了实习组里做的app,让我highlevel聊聊如果要加付费会员feature的话要测什么, bq问了1. 有什么做了project然后test的经历 2. overcome obstacle 第四轮:自我介绍,QA测试分几步,然后拎出environment setup单问怎么搞,bq问了1. 发现问题dive deep然后解决的经历 2. simple solution for complicated problem 其实应该还有漏掉的BQ但我实在记不清了 BQ问到我人发晕,感觉还是得多准备几个故事,不然说来说去就是那两个project 求大米啊!加米不扣米der~
---------------------------------------------------------------------------------------
1.给2个string,判断是否是anagram. 经典题。LC 242 Valid Anagram ,int[26] ++, -- is 0 . “abcd" "abdc" 是anagram. 2.设计一个ood, find, 2个功能:1. 找到size > 多少的文件名 2.寻找有关regex pattern的文件名, 这部分和面试官clarify。 我没有接触过ood,一顿乱答和设计,都没有设计类,写了2个function,时间都没来得及,只交代了一下准备怎么写。 3. leetcode zig zag traversal( 腰玲伞)LC 103 Binary Tree Zigzag Level Order Traversal, 我写的有点小问题,但是面试官认为我是对的,蒙混过关。 每一轮都有bq,我比较懒准备了一个project,focous 在不同的方面。(15-20min) 感觉我是莫名其妙过了,可能Bq找别人模拟了一下,bq答得还行。
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
I interviewed for amazon over 2 days, with two 1 hour interviews on either day. Each interview has 2-3 LP question to begin with, followed by a technical question. These are the technical questions that were asked:
Design a basic text editor like notepad. (I did it using linked list, keeping track of cursor "node" and inserting and deleting as your would normally on a linked list)
Design dealing N cards to M players and pretty printing each hand in a sorted order I wrote down some basic classes for it like a "CARD", "PLAYER", "GAME" and enum for "SUIT" Pretty printing you basically convert 1,11,12,13 to A,J,Q,K (i m sure there are better ways to do it) For sorting, it would be a custom comparator for the class "CARD". I explained it to him a bit but didnt actually code it as we ran out of time.
Got the offer and accepeted.
---------------------------------------------------------------------------------------
Round 3 Implement a PROD ready code for implementing product search . EDIT 1 This is is the Object oriented design question ( not the diagram one but you have to actually write few classes) they asked and their questions are pretty much like 1 or 2 line. You are suppoed to clarify it. And I didn't do a good job in that. So, the information I have is: Imagine you are an electronic store and it sells lets few things ( perhaps just pick up camera) and now your program will get input about filter lets say price and you want to return the list of product that match .
Here I was torn between how much to clarify and perhaps should just implement basic functionality as I was getting a rush feeling from interviewer : "Go Go Go " . (this needs to be done in 30 min because there was behavior round too )
I guess you need to create a data structure which holds the catalog , and come up with what kind of input you will accept ( which implies what all filter criteria you will support) and how the output will look like.
Round 4: System design We have data for all the candidates who have applied for open positions in a company. e.g : USA candidates applied to Amazon usa . we want to develop a dashboard where recruiting team even in Europe can view these candidates. Constraint here is that each candidate data is PII and must be stored in respective country.
I think you can just start by assuming two countries: USA candidate and recruting team viewing data in lets say Germany
EDIT 2 I would like to hear your thoughts on round 3 and round 4
---------------------------------------------------------------------------------------
3.29 VO
华人小哥 双向自我介绍 BQ: Don’t know what to do next Code: Maximum of island area:2D array, 1是岛,LC 695 Max Area of Island 计算最大的连续的岛,用DFS做的 Follow up: Complexity (m*n) O2.美国小哥 双向自我介绍 反向BQ BQ: tight ddl no time for all options, how much information do you need before deciding to move to the next step Code: Design a System where users can follow friends, can see products purchased by friends, the system can add users, and remove users. Follow up: what if when we delete a user from the system, we must also delete it from the friends list of all of his friend; space complexity
美国小哥 反向BQ 自我介绍 BQ: Comfort area, Face an unachievable target, give a project to another people Code: 2D array, find the minimum sum Path from top left to bottom right, can only go right or down 用DFS做的 Follow up: Complexity How to optimize(memorize,给了hint才理解的,没时间写完,handsimulation之后说可以了) 总结:不愧是BQ大厂,我三轮一共被问了六七个BQ,导致code时间很短,但是面试官都很nice很健谈 因为个人原因秋招没有参加,春招只拿到了这一家面试,准备了很久,感谢地里的很多信息,拿到offer了马上就来回馈大家了,希望能够多多加米~
---------------------------------------------------------------------------------------
VO (3-29 and 3-30) 4 rounds: 前三轮自我感觉还不错, 最后一轮思路刚开始不是很清楚,只想到了union find,面试官一直问union find的各种detail, 按他自己说他不太了解union-find, 然后就各种画图解释, 感觉解释的也不是很清楚还花了挺多时间, 导致最后没有implement完。 不知道挂了一轮是不是就挂了, 祝自己好运吧 Round1: BQ 忘了, coding: given a binary tree, output the most frequent subtree sum Round2: design a parking lot Round3: LC 967 Numbers With Same Consecutive Differences given int n and k, find all integers with n digits and abs difference of consecutive digits is k + follow up: 再写个BFS的解法 Round4: 利口 刘把武 LC 685 Redundant Connection II
---------------------------------------------------------------------------------------
我来补面经。先从电面说起吧。 电面半小时都是bq,然后半小时做题。题目是:给你两个集合(元素可以重复),找出在这两个集合中所有的公共元素。需要自己设计存储结构,函数接口。分析复杂度。之后两个followup。 第一个是如果数据量很大,内存中放不下怎么处理。 第二个是如果是流数据怎么处理。 这轮lz应该都答的很ok
---------------------------------------------------------------------------------------
phone interview: LC 384 Shuffle an Array
---------------------------------------------------------------------------------------
Phone interview LC 472 Concatenated Words
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
常规BQ + Merge K array 类似尔散,LC 23 Merge K sorted List 写了常规pq解法,又要求用递归解,类似merge sort
常规BQ + 药斯灵,LC 140 Word Break II 要求输出所有的词。这题好久没见过一开始奔着trie tree去想,发现行不通后转backtrack,压哨做完
常规BQ + OOD,类似打UNO的游戏,设计Game,Card,Player三个类
常规BQ + System Design, 图书推荐系统,推荐算法是什么不用管,全程跟着面试官走所以没啥特别的。
--------------------------------------------------------------------------------------
第一题,输入一个栈,只能借用另一个栈实现栈内元素排序,最小值在在栈顶。返回排序后的栈。 similar as monostack ?? 第二题,ood,设计电视节目管理系统。有station,每个station有schedule。有show,show有开始结束时间。考虑add show有冲突的情况。 第三题,给个数组,找其中任何一个peak number,这个number要比左右两个数都大。要求要在logN时间内解决。 最近刷了好多回溯,dfs/bfs,图,树,设计,都没考到。考到的都没准备唉,不知何日才能上岸。 BQ 考了challenge project,怎样解决的问题。out of responsibility, 帮助别人。tight deadline。 没有问manager就做的决定。project out of expectation。基本每轮两个,会有很多follow up。 加油加油
--------------------------------------------------------------------------------------
面经: [hide=200] BQ:全是高频, introduce yourself, resent project, challegen project, tight deadline, learn new things coding题目: 第一轮:least recently used cache 第二轮:简单ood,没有任何算法和数据结构,就是写class 第三轮:decoding string,给一串数字,问你一共能decoding出几种字母结果, 比如‘1212’,可以被decode成 ABAB, 或者 LL,LAB, ABL, AUB,注意0和超过26的数字不能被decode成任何字母,比如‘001’, 简单的dfs就能解决。 [/hide] 另外我自己整理了一些面经里出现过的题目,基本是半年之内的所有原题,练一练感觉挺有帮助的。
--------------------------------------------------------------------------------------
Phone : 上来先两个BQ,建议不要编故事,具体技术细节问的很细。 然后一道题 利口 要三九 LC 139 Word Break ,当时懵了,先给了个暴力解,写完不work。后面写出了DFS,没加memory,不是最优解。也过了。不用写test case,不用run。 问了时间和空间复杂度。 过了。。。
--------------------------------------------------------------------------------------
第一轮 三哥(没有口音) 挺nice 上来互相介绍自己 bq : challenge project , why amazon code : parkinglot 第二轮 白人小哥 在kindle工作 介绍了很久自己的组 bq: tight ddl code: 蠡口 尔幺尔 LC 212 Word Search II 第三轮 三哥(口音还行) 一上来直接甩题做 不怎么交流 给人心理压力很大 没有hints code:蠡口 尔玖伍 LC 295 Find Median from Data Stream 最后bq: the most challenge 第三轮完全没写过lol 转码选手刷题还是不够底子不够深 又碰上心理压力大 完全第三轮不知道该怎么切入(甚至一开始没懂题) 问了一些hints 对方也没什么反应 最后终于在right track上 不够时间写完 两题标榜hard 心痛 还是刷题刷得不够多 继续努力叭
--------------------------------------------------------------------------------------
2/22面的VO,前两天也老老实实的准备了BQ,不过故事只有5个,不算多,感觉BQ没准备够,因为这四轮BQ被问了好几个不太常规的BQ,有一个是问有没有一次顾客让你做一件事情但这件事情并不是他们的需求.遇到这种情况就就只能拿准备好的故事的来套,但是这个case又被上一轮的面试官用另一个问题问过了,已经被问晕了...
第一轮:印度小哥,让我实现一个rateLimiter,先问我一般情况下怎么做,我就大概讲了讲从设计上一般怎么做,然后才开始做题。 is not SD ,
第二轮:国人小妹,给一个数组,要求找到和为X的组合的个数,每个组合必须是unique的。 similar LC 39 Combination Sum
第三轮:印度大姐,给一个连续单词组成的String,然后把这个String转换成一个完整的句子,不考虑语法,同时提供一个方法boolean Dict检查这个String是不是单词。
input: “ihaveanapple” output: "i have an apple" 可以用Dict(String word) 判断是否为valid word
第四轮:印度大哥,设计一个bookstore,这是我第一次面系统设计,感觉和我想象中有点不一样,我问他需求,他让我说,花在定user case的时间上都不少,然后我问traffic,他说了个粗略的数,数据大小不说,bandwidth也计算不了,最后没多少时间了就给了个high level design。 一周没消息,于是问了一下recruiter,得到的回复就是fail,还让我等一年再试。 Recruiter下午特地给我回了个电话说feedback,说我其他都行,就是组里对我system design有concern,还说如果有感兴趣的team会联系我,那我到底算是fail还是进waitlist了
--------------------------------------------------------------------------------------
Sorry我不知道这么多人没300分。第一题是新题,就写在这了。第二题我之前发过一个working code,可以翻翻我的记录。防止烙印偷看。。 Greedy 不工作,用正常postfix array or monotonic stack Example: can only merge arr and arr[i+1] if arr < arr[i+1] heaviestpkg([20, 13, 8, 9]) returns 30 Optimal merging strategy: merge 8 and 9 ==> [20, 13, 17] Merge 13 and 17 ==> [20, 30] Merge 20 and 30 ==> 50 补充内容 (2022-03-06 10:22 +8:00): 可以merge的条件是arr < arr[i+1] * 之前有一个typo
见补充 zszszszsq2 working code: https://www.1point3acres.com/bbs ... ;page=1#pid16780936 just need to fix a segmentation fault issue in an edge case if you code in cpp.
--------------------------------------------------------------------------------------
在递增有序的link list插入一个值。要求考虑所有可能的Corner case。
--------------------------------------------------------------------------------------
电面:国人小哥,题目是利口🌂 LC 3 Longest Substring Without Repeating Characters ,follow up是找所有符合条件的子串 昂赛:
应该是br,拜仁老大哥,全程bq问的我例子用了一大部分,后面都没其他的例子了。 Q:介绍自己,介绍除了简历之外的自己,challenge项目,tight ddl,项目创新,复杂简化,如果再给一次机会会改进什么地方。。。记不太清了
烙印小哥 * 2,api设计,模仿一个网站浏览行为,button满足前进后退,需要存储访问过的urls,最后有个hint没明白他什么意思没做出来。 BQ:没有满足承诺,什么项目你dive deep了,tight ddl 口音我真的无能为力,每个问题我都double check了他的意思,估计他也挺无语的,后面他给了一个hint我愣是没明白什么意思,问了好久都没问出来但是时间到了所以作罢。 double linked list 就可以把 public class Node{ String url; Node prev; Node next; }
烙印hm,有点像ood又有点像api设计,感觉他们都喜欢考api设计。设计广告牌post,有一个100块广告牌位置,根据request 将发送来的广告post到对应的位置,需考虑位置被占用,边界条件等。
国人小哥哥 * 2(有一个是店面的小哥),trie的一道题,利口👂零拔 LC 208 Implement Trie (Prefix Tree) 小哥们超级nice,完胜其他面试官!
--------------------------------------------------------------------------------------
二月下旬面的亚麻,发下面经求大米 一共有5轮,其中一轮全是BQ,剩下四轮每轮上来20-30的BQ,亚麻真的是BQ大厂啊,不枉我花了一个周末准备BQ...
round1: BQ
round2: hiring mgr轮,先聊了BQ,然后出了一个很简单的stock题,就是只能买卖一次最大profit (但是当时竟然太紧张了写出bug了),不过他人很nice就看着我在改。。。
round3: coding, 也是先聊了BQ,然后出了一个比较简单的算法题。大致是四个方向NSWE, 其中NS可以抵消,WE可以抵消,然后给了一个string,里面是这四个方向,求抵消之后是什么,而且可以不用按顺序输出。比如NNSW -> NW。 后面还有一些followup都是基于这个的,都可以基于原代码改。具体的想不起来了,但是都很简单,面试官完全不是想为难我,都做完这些还剩下15min又瞎聊了半天
round4: coding, 也是先BQ, 然后出了一个也是我没见过的题。大致是有一堆卡片,每个卡片正反是两个字母,再给一个target word, 问能不能拼出这个word。比如卡片[('A', 'B'), ('A', 'B'), ('A', 'B'), ('X', 'Y')]是可以拼出“baby”的。当时想了半天也没想出什么特别好的做法,最后dfs 暴力解的。问了面试官他也没给任何hint。 第四轮是典型的 匈牙利人算法…
round5: 先BQ再SD, 设计一个类似于二手网站的service,用户可以上传商品,并且支持搜索。 总的来说不难,出结果也挺快的,就是一天说了5轮bq嗓子都哑了hmmmm。
Q4像 LCS def
比如卡片[('A', 'B'), ('A', 'B'), ('A', 'B'), ('X', 'Y')]是可以拼出“baby”的。当时想了半天也没想出什么特别好的做法,最后dfs 暴力解的。问了面试官他也没给任何hint。 这个题有个思路,把卡片放到HasMap里边,拼词的时候去查Map就行了。 Map<Character, int[]> key: each character-> val[0, 0] the appears number of the character. 有点,每次放的时候需要排个序,小的在前,大的在后。这样可以避免找错组合。 下边代码没测试过,不知道是否正确。
-------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
面试官连摄像头都没开, 题目是: 就一道coding, 刷题网 窑贰期 LC 127 Word Ladder 明天继续奋战,还请加米啊。。 补充内容 (2022-03-10 07:45 +8:00): 继续来追更啦 今天二面华人小哥,题不难,刷题网 流气吧。 LC 678 Valid Parenthesis String 没刷过,用了stack来解,可以cover他给的test case,但是和标准答案不一样,有些地方没写对,感觉华人小哥不是很满意的样子。。。。。 三面 Hiring manager, 设计一个收集amazon product review。开始经理一脸严肃,后面聊的还不错,感觉他还挺满意的样子 四面 Bar raiser, 刷题网 捂捂,LC 55 Jump Game 秒掉,后面问最优解,假装思考半天最后给出最优解,没叫把最优解写出来。感觉这轮应该还好。 希望华人小哥放我一马,跳槽找工好难啊。。
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
3.4的三轮vo 第一轮OOD,amazon shopping cart。两个function,把商品加入购物车和计算总价。product有两种discount的方式:1. 10% off 2. buy 3 get 1 free(也可能是buy 5 get 2 free)
第三轮经典lru cache。本来还想手撕双向链表,结果面试官说不用了,写个function的名字就代表链表的操作了。bq问了很多和大学有关的东西,大学里最喜欢的课程,最有挑战的课程,有没有帮助过课友,怎么帮助课友的 3.7 moved
--------------------------------------------------------------------------------------
3/2 vo vo: 中年白男,好像并不熟悉intern的面试流程,以为面试是一个小时。 bq问了:help peer,calculated action,project,问了好多,也有follow up,大概半小时。 没有问数据结构的问题。 之后coding:给一个file,file里面存的是一个网站的用户访问记录,每一行存了一个时间戳(年月日小时分钟秒)和一个userid,要求找到访问次数最多的userid,ps:一天算一次访问,一个用户在同一天访问多次,算一次访问。 写完面试官说,我们还剩5分钟,我以为要进入反相bq了,没想到他又出了一道题。 并且把我之前写的代码全删了! 设计一个数据结构,记录下棋的状态,每一步棋的位置。我简单说了一下想法,写了几个comment,面试官点点头。 面试官:good luck! 结束。
我个人觉得是把timestamp 后面的时间strip掉,只保留 日期。 hashmap key 是user id, value 是一个 set,把strip 后的 日期放进去,找最长的set 就行
--------------------------------------------------------------------------------------
先和各位大佬解释一下, 楼主小白,刷题少,不能确切的把每个题对应到相应的题号,但是会尽量详细的描述题目,麻烦各位大佬如果知道了题号留言回复在评论区,这样可以造福别的小伙伴。 话不多说,上题
白人小哥,口述题目。 BQ:tight ddl Coding: Amazon-go store,give you a log file contain the information about the customer ID , the time stamp he entered the store, the time stamp he leave the store. Log file could be like this : ["abc,120", "hhh, 230", "abc,245", "hhh,330"]. Like, "abc" is the customer ID, the number after it would be the time stamp the customer entered the store or leave the store. You need to write a method which return the ID of a customer who spend the longest time in store.
senior 烙印(可以听懂的口音) BQ:tell me about a time you failed, tell me about a time you help teammate Coding: giving you a array of strings, you need to return the first unique string in that array. Follow up: if I add another string to the array, can you return the new frist unique string? what's the time complexity of doing that?
Sernior 烙印(很困难可以听懂的口音) BQ:tell me about a time you invent something Coding: 刷题网雾散 LC 53 Maximum SubArray 总体体验真的很舒服,面试官都很nice,说BQ的时候也都有给positive feedback,可以看出是在认真听你讲的,我的BQ并没有被问大段的follow-up。coding部分也会在你卡住的时候很耐心的引导你,我觉得最重要的就是一定要随时告诉面试官你在想什么,来体现出你在积极的思考。 大家觉得有用的话麻烦加米啊,给别人加米自己不扣米的。谢谢大家!!
--------------------------------------------------------------------------------------
时间是一月底。 VO是四轮,各一小时,我的面试比较奇怪,因为被两个recruiter同时勾搭了,所以最后是所谓的split loop,就是有两个组的来面我,每个组各出一个senior和Hiring manager。
round1: 组1的senior developer,问了20分钟bq,基本就是biggest mistake,tight deadline, 之类,Coding就是二维数组,左上角为起始点右下角为重点有障碍物,寻找最短路径并且返回路径。follow up就是把它改成任意位置开始和结束。解的很顺利。
round2:组2的senior developer,也是20分钟bq,Coding是找sub array equals to target,我跟他confirm有没有负数,他说先没有负数,我写了sliding window,然后follow up就是有复数怎么办,用了个map变相sliding window。
round3: 组1 hiring manager + shadow,bq问了很多,基本常见的都问了,大概问了三十多分钟,印象深刻的就是disagree with team leader和negative feedback了。然后也没有问算法题,问了一个design api,用户需要选择locker放快递的时候,api设计,我就当restful api设计扯了好一会儿也很心虚。。
round4: 组2 hiring manager + shadow,同样bq问了半个多小时,剩下一题又是locker,包裹有三种size,设计一个算法快递员能够快速获得available的locker(符合size),一开始我以为是ood,结果扯了好半天class design,最后才发现是默认这些class都在了,需要做的其实是活学活用hashmap等数据结构,最后找补了一点,这一轮感觉是最差的。 最后四天后拿到feedback,然后因为是两个组面我,所以我可以选择一个组,选择权在我。
--------------------------------------------------------------------------------------
刚面完亚麻的店面,面试官是个中国小哥,很有耐心。不过我很久没刷题了,太菜了没写出来。 类似于莉蔻伞久久 LC 399 Evaluate Division
。区别是a和b之间的换算是让你call另外一个func拿到的,然后query只有一个给你一个startpoint,一个endpoint,返回通过最短换算路径得到的结果. 求米!
--------------------------------------------------------------------------------------
3/8 VO 3/10 拒 面试当天一进codepad就看到一个中文名,心里就放心了一半。一进房间是一个AWS的中国大哥,开头友善的介绍了一下 agenda(intro 3mins/bq 10mins/ coding 30mins/ 反向bq2mins.然后互相自我介绍后就进入了BQ。 BQ 第一题 怎么帮助 peer 顺利套例子 第二题 问如果你的team里 大家pace都比你慢 没有跟上你的节奏能怎么办。 这个例子我没有准备过 但是我知道他想问tight deadline 所以一边问他是不是想问tight deadline一边在大脑里面思考怎么套我的例子。 然后这个大哥看我在思考估计他主动直接提出说可以换题要不要帮我换一题。 我说好的我说我们一般都 plan our schedule ahead,没有类似的例子。然后他直接把问题换成了tight deadline怎么办。 我当时真的觉得自己走大运了怎么遇到一个这么好的面试官,直接帮我把题目换成了最舒服的题目。 然后两个bq的followup 我觉得也答的很顺畅。视频我也能看到他频频点头表示赞同。 然后进入coding, 是他自己出的string题很简单,followup也不是特别难 都是在问了题目意思,简单的交代了自己的思路以后就写完了。我当时就觉得很奇怪的是我coding的过程中他没有说过一句话给我任何的hint,但是因为不难我也自己写出来了。最后time/space complexity也都答对了。最后针对他的followup我记得他的原话是“this should work" 然后反向bq就结束了。全程我都感觉是positive feedback,包括我稍微停了一下他就主动换题我还在想我运气也太好了吧,遇到这么nice的面试官。如果他是因为换bq题这个部分就想挂我的话,那他为什么不直接让我想一想然后说那个我没有准备过的BQ呢。 有没有懂哥能帮我看看 我这个有可能挂在哪儿了
*******
你犯得最大的也是最致命的错误就是你竟然要求换题。。。而且是刚开始问你的BQ你完全答不上来,换一道你就倒背如流了。那这种情况下考察你的BQ的意义又是什么,对于面试官来说,你的表现几乎等于告诉他你没有任何临场发挥的应变能力。。。 +1 亚麻极为重视LP,甚至强LP渣coding都能给过...之前见到过同一天的两个例子,一个强LP弱coding,一个coding都ok但是LP的例子惨不忍睹,结果强LP的过了,弱LP的给挂。 套例子不是不可取,但是生硬套例子是肯定会挂的。面试前每个面试官会分配要考察的LP,如果这个LP没有例子,那么面试官在写feedback什么都写不出来,不太可能给过。另外,请好好看看LP的要求,确认自己套的例子里有没有LP的坑。比如:当你分不清deliver results和learn and be curious的时候,提到我想在deadline之前完成project,所以采用了自己熟悉的技术栈,把所有要求的功能都做完了。这个回答两个LP都会是挂的,因为deliver results强调取舍,什么要做什么不要做(挂:不做取舍加班加点实现全部功能),而learn and be curious强调使用自己不熟悉的技术并且勇于尝试(挂:只采用熟悉的技术栈)。 LZ很有可能就挂在生搬硬套例子+要考察LP没有例子+说出来的LP踩雷点了。 至于coding,CODING考察的不止是你会不会,还有你的沟通能力啊!!!所以上来基本啥也不说直接把题做出来也很可能挂。“我当时就觉得很奇怪的是我coding的过程中他没有说过一句话给我任何的hint”这句话很有可能说明你基本没问clarification question,没有问过数据规模,数据边界,边界处理,逻辑是否可行。刷题刷太多上来就秒是另一个做题的红线。面试官考察的是你如何通过交流找到双方都满意的解决方案。你直接上来把题秒了说明你做过,没问题,但是如果一点问题都没问,说明交流有问题,同样也可能是挂的原因。 楼主还是move on吧。。
--------------------------------------------------------------------------------------
第一轮: design tic tac toe (write startGame, makeMove, isGameOver method) 第二轮: system design: design inventory management system for buyer/ seller (support add inventory item, get item description, check item availability) 第三轮: hiring manager bq 第四轮:具体题目有点忘了 不过用hashmap 就能解决
--------------------------------------------------------------------------------------
前20分钟bq,两题:
聊一聊你做过的一个前端的项目,问了很多的followup,都是关于细节的。
这个有点意外的是,因为回答第一问的时候提到了项目里的某一块因为说做的比较好,所以就着这个部分问的有哪些具体achievement。 接下来15分钟是一个前端题: 用react, js写一个点小⭐⭐的评分component,是在text editor上写,要求是当你点击的时候正确数量的⭐⭐会亮。这里写完小哥明确指出里面有语法错。 接下来20分钟是LC: 找到第一个sum是k的subarray,例如 [1, 2, 3, 4, 5], k=5 返回的是[2, 3]。算是这个题型里简单的题了。 最后5分钟反向bq,就随便问了公司文化。 最近才开始看面筋,以为大公司都是LC为主,出了前端的题是有点意外的。想问一下有没有了解的小伙伴之后VO还会出现类似题吗?
--------------------------------------------------------------------------------------
3.31面的,废话连篇,不喜勿骂😅,谢谢您 互相自我介绍。 bq: 你把手里工作转交给其他人要怎么做注意什么 会negatively impact你们组项目的factors怎么handle 白人大哥之前aws现在转到广告组,bq是他自己出的(?)也可能是我面经看的不够多 clarify了一下问题,试图套进之前准备好的故事,也不知道有没有跑题,followup了很多细节 code: 很简单,就是twosum 3sum变种吧,读完题愣了一下不会是看我转码不想要随便打发吧。。。 开始表演“我没做过twosum 3sum这种题” 让我优化了4 5次终于到45min了 反向bq: 紧张了一天没吃什么东西已经没脑子了,僵尸脸抛出无聊的常规问题,老哥说的还挺有意思,我越听越兴奋,followup了好几个问题,尴尬的是,其中一个问题,老哥刚刚提到,我没反应过来。 只要我不尴尬,就没事!继续followup细节。 可能被我问烦了,暗示结束,老哥摄像头突然坏了,作为不会读空气一号选手,在他摄像头好了以后继续问他问题。 然后老哥的摄像头第二次坏了。 这次读懂空气了,致谢结束。 bq一定要用真实故事,多mock几次,感谢一起战斗帮助我的朋友们555555 感谢ycy给我分配一个超chill老哥,后援会麻烦联系我下我想捐钱。 面试当天要吃饱!!现在想想当时很多反应,老哥心里默念“这人不太对劲”n次了吧。 anyways感谢高抬贵手让我进了wl 今年wl表:https://docs.google.com/spreadsh ... IQ/edit?usp=sharing 同样wl的朋友欢迎加我绿色软件交流,可以发vx号到onezzzaaa@gmail.com 获得buff加成:> 加米后发邮件获取我搜刮/整理的麻厂全套准备资料:> 祝您生活愉快,愚人节快乐!
--------------------------------------------------------------------------------------
3个45分钟,2道OOD 第一道是牌类游戏判断输赢,很开放,游戏,卡牌都要自己设计类,没做完 第二道是返回一个list of list,每个list的num从nums取,可以重复取,要求list sum = target,是个dfs或bfs剪枝,有个剪枝条件没想出来,挂。这题其实做过。不过剪枝条件似乎只适用于dfs。 第三道是list of 用户浏览历史,包含现在url和他从哪个url跳过来的。设计一个类,能够判断给出2个url,是否能从第一个到达第二个。这个我其实也挂了。 第一次面亚麻面试体验很差,面试官也是随便分配的,跟Karat外包差不多,我一点问问题的欲望也没有。一个面试官在天竺半夜上班精神很差。 我觉得亚麻在地里有大厂好上岸的名声是因为它对简历要求低,vo基数大,轻松上岸人数多,实际难度方差很大,路子还野,3题2题OOD是没想到。BQ还好,答完就忘了。
--------------------------------------------------------------------------------------
面试的时候一个Alexa 老哥introduce 之后,问了 work against very limit time and there are no time to consider all the options, don’t have all the resources why choose one options over the other what was the outcome 然后又问了 Tell me about a time when develop something without consulting with other people, manager, mentor, professor, advisor what was the situation and how you do with that
--------------------------------------------------------------------------------------
上来自我介绍都没有直接开始问LP跟customer有关的问题。 比如什么怎么解决customer last min的change啊之类有的没的。 coding是最奇葩的地方,我到现在都没搞懂这题究竟考什么。。。 以下内容需要积分高于 188 您已经可以浏览 是一道package的问题 比较像npm的syntax。 说是给两个json 里面是要安装的package和已经装了的package。package 里面有名字,版本号和他的dependency(里面还是若干个package和他们required的版本号 例如 >= 1.2 。 但是里面会有冲突,比如如果按照package1的版本装了后(>=1.5),会和已经装了的和没装的package起冲突 (比如>=2.0)。 我最后一顿暴击解。没有看出来能用啥算法的。 感觉也不像是一个linked list或者tree的题啊。 最后暴力解后也没问complexity啥的 也不知道考点是什么。。 懂得大神指点指点
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
面试官是人超级好的小姐姐 bqtight deadline follow up ownership coding partition linkedlist by value x 求大米
-------------------------------------------------------------------------------------
第一轮上来就直接implement Hashset 第二轮是LCA的变种,lca in tree instead of binary tree 第三轮更多的是data structure而不是algorithm。要求reverse a list of numbers,需要选择最优(space + time)的data structure以及写出解法 一共五道BQ,team conflict,not meeting deadlines和challenging project,其中前两题分别被两个面试官问到了
--------------------------------------------------------------------------------------
面试官是个白人小哥,人还不错。 第一题bq tight ddl,第二题bq out of responsibility。 coding 刷题网295,我先想出来排序的暴力解法,然后自行优化,写出lc答案最优解。面完以后觉得稳得不行,一打开地发现没有hc了…真的搞心态。今年summer intern唯一的机会也没了。
--------------------------------------------------------------------------------------
LeetCode Word Ladder II, 和电面居然是同一道题 这道题目我用BFS 找图 + DFS 找路径,但是interviewer强行要求我去只用BFS,但这道题BFS无解, --->只用bfs的解 ::https://leetcode.com/playground/4JedEJZH 思路是记录一个现有解的path length, 超过这个path length跳过,发现少于这个length的解,之前的所有解清零。
Snake and Ladder Game, input : (total stairs, snake list, ladder list, you have a cheated dice) 这道题很简单, BFS就行了
Card Game(straight, same color, pair) 这道主要是考你的逻辑思维
System Design. Design a Movie theater system 这道题我基本参考了Youtube的design经验 Recruiter在第五天讲没有过,挺惨的。
--------------------------------------------------------------------------------------
我的工作经验,很多年,很少涉及大型的system design,其中的component也很简单,不会用到很多外部service。工作中很少用到算法。这次面试,纯粹被HR催烦了,硬着头皮面试的。没准备这么早面试,打算下半年才开始接受hr的invite的,leetcode也就是隔三差五写几道题而已。 4轮 SDE2 每轮都有30mins的BQ,很经典的问题,但也是问的头疼,我讲故事都是基于工作的问题,很少或基本没有发生过那种很特别的事件,这两年工作中倒是发生了不是啥大事儿的事儿,很容易解决(为了BQ都是生拉硬套)
LRU 接口都自己写from scratch。我刚开始想成了LFU 照着这个解释的,interviewer提醒我,当时有点懵,忘了LRU底层结果是个啥了。interviewer提醒我 doublelinkedlist,我大概想起来了,写了put get,具体的doublelinkedlist的functions没写完。
component design。live stream service like twitch。实话,没用过twitch,也没用live streaming service。之前看了system design的一些case,感觉有点临时抱佛脚,现场啥都想不起来,只知道api设计和database存储什么数据。我用的白纸和笔,别笑我,下了个app不会用,平时公司用白板,在家工作期间用的公司的online doc。
可能乐扣有类似的,list of shows,有开始结束时间,还有占用的带宽,问这些show需要最大带宽是多少。有点overlap interval类似,但是需要把overlap interval的带宽做summation吧。我就想sort list by start time increasing order, then end time decreasing order. 能不能compile 估计不能。
Trie。有个字典,一堆词儿。给你一个prefix,返回所有前缀是这个prefix的字典中的词儿。我第一反应是Trie,就提说我想用Trie,然后就可以开始写了,但是我没有完整写过Trie有点虚。followup就是时间复杂度,最坏的情况,为什么用Trie(我不知道是真的!我听到前缀第一反应就是前缀树),空间复杂度呢,我说存多少词儿,占用多少个字节,预估一下,真心不知道。 联系我的HR很nice,不知道为啥特别积极,我都没那么积极,搞得我很惭愧。 经过这次没啥准备临时上阵的VO,感想,虽然真的很累,但VO这种面试形式很适合我。如果下定决心换高薪工作,忙完这头半年已经安排好的事情,好好准备刷题面试,机会要好好抓住。 不过,提醒自己工作的这么久,欠缺的很多,不是很专注于码农的工作。是专心写好代码拿个高薪的工作,还是多学些额外感兴趣的知识,需要考虑一下。multitask有点吃不消。 自己的不足,工作当中芝麻大小的事儿都要牢记,要不BQ真的很难准备好。system design要多看几遍,感觉模式很固定,唯一不确定的就是很多具体的优化用什么不用什么我没有概念,这点跟我工作内容关系很大,日常工作中基本没得选。其他就是刷题吧,都是套路,唯手熟尔。 希望有帮助。祝大家好运🍀
--------------------------------------------------------------------------------------
第一轮phone screen: 1 a favorite project 2 a time need to dive deep 3 a time to make decision without reporting to manager 4 a challenge you faced 一个经理很多下属,下属也有下属。每个下属向上汇报要花时间。问最顶层的经理获得所有员工的汇报需要的时间。 VO 1 HM面,问如何设计火车站的储物柜,三种package大小。怪自己没一开始问清楚听清楚,到中间才明白是火车站储物柜不是放快递的储物柜。 2 给S和T两个string,返回S里所有是T的anagram的substring的起始下标。一开始直接说sliding window做,面试官说从brute force讲起吧。后来说了一个O(26*N)的做法,面试官说能不能优化常数项。我说一开始记录S长度为len(T)的前缀的map,之后每次slide都只用记录最左最右的变化。想了很久才想到,没时间写代码了。 3 给一堆文件路径和内容,把内容重复的文件路径group在一起。 input:[“root/a 1.txt(2333) 2.txt(666)”, “root/b 3.txt(666)”, “root/c 4.txt(2333)”] Output: [ [“root/a/1.txt”, “root/“c/4/txt], [“root/a/2.txt”, “root/b/3.txt”] ] 我是用hashmap,key文件内容,value文件路径集合 还问如果文件内容太大怎么办,我说hash文件内容。继续说太大没法hash怎么办。。不懂了,求解答。 4 OOD 设计一个查找文件的library,可以支持以下例子的查询: 查找所有大于5MB的文件, 查找特定文件类型,查找特定命名pattern。 这个lib应该比较灵活,比如也可以支持查找所有两天前修改的pdf文件。 这个OOD真是几乎无从下手。 BQ说的我都咳嗽了,真有毒。搞笑的是我问HM你们对SDE2的工作要求期待是什么,他愣了一下说你面的SDE2吗?
--------------------------------------------------------------------------------------
ood 设计存放快递的locker system,有三种size的locker,每种大小各10个
system design url shortener
coding题不记得了... 一共四轮,每一轮都有两个bq...到最后一轮的bq我真的快素材用尽了T.T
--------------------------------------------------------------------------------------
VO: 1.设计一个函数 实现unix find command功能,用于寻找文件夹下的文件,细节需要和面试官沟通 2.在二叉搜索树中寻找第K个最小的数 LC 230 Kth Smallest Element in a BST
3.likou 骑舅 LC 79 Word Search
--------------------------------------------------------------------------------------
下面是我的dp,总体来说,体验很好。面试官感觉人都很chill,完全不push。而且也都能跟得上你的点。再就是他们问的题实在是简单到过分了。。以下四轮面试,只有第一轮的面试官不在我面试的大组。
中国女生,人超级好。问了我一个不需要算法的题。主要是之后的follow up,是跟code的maintainability/scalability相关的,算是design pattern吧。
印度小哥,感觉挺聪明的,人也很nice。问了个关于n-ary tree的问题。基本就是找highest average of any subtree。写过二叉树的都能做出来。因为之前BQ问的太久了,他给我出题的时候就已经45分钟了。最后写完两部分的题之后已经到时间了。但是接下来我有2小时休息时间,然后又跟他聊了15分钟关于他们大组。
美国老哥,这个感觉就更随意了。但是说实话,跟之前两个人比,跟他聊天的时候能隐隐感觉到他有点自大/颐指气使的态度。不过都是隐隐有一点,总体还是比较礼貌的。他问了个类似于word ladder。但是不要求最短路径,只要返回任何valid path就行。所以就用正常的回溯就好了。我写了一个出来,结果他好像有点没看懂回溯是怎么回事,还跟我稍微确认了一下。
不知道哪里的老大哥,是个manager。这轮是个系统设计,让设计一个inventory的系统,里面的产品都可能有好几个category。然后用户可以订阅某几个category,一旦有新产品加入invntory,用户会收到推送消息。题目就明说了让用pub-sub。
以上四轮,每一轮都有至少30min的BQ,大概一共3-4个大问题。BQ基本都是那些常规的问题,但是每个问题都有2-4个follow-up。我又很能bb,所以基本问完这几个问题就半个多小时了。 其实这公司是打算练手用的,但是其实面试下来感觉这个组好像还行。周一面的,周五接到电话要move forward,下午就跟HM聊了。但是我去blind上看了下,说这个大组好像技术比较旧,然后工作氛围也不太好?可能唯一比较好的地方是wlb比较好,好几个面试官都提到过。 大概率不会去的,但是先看看给多少钱吧。 补充内容 (2022-04-09 09:59 +8:00): recruiter当时说的是代码一定要bug free。但是我实际经验是,他们的那个写代码的平台根本不能run。只能大概看一下,所以理论上完全取决于面试官能不能看出来你代码里的bug。比如我第二和第三轮其实都有bug。第二轮的小哥看出来个,告诉我了,我就改了。第三轮的小哥,根本没看出来。我是面试完才想起来的。但是最后还是过了。
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
社招4轮第一轮:面试官迟到了,等了7 8分钟才开始。先是自我介绍,然后问了两个bq的问题。问的是什么不记得了,但都很亚麻。问完bq大概剩下25分钟左右coding。第一问是给一个array,找到peak,找到任意一个返回就可以了。很简单的二分就做完了,但没想到竟然就这个算法解释好久,又按照她的想法改了一版。第二问是给个整数n,找到从1到n的prime num。最后反向bq。 第二轮:套路同上,bq问了一个dream job是什么,还挺意外的。后面问了tight ddl,自己做过什么执意要做的事情吗,还问了一些实习里面的东西。bq大概持续了半个小时,coding给了个lru 第三轮: ood,设计一个电话中心,电话打进来会有三层人接听:第一层接线员,如果接线员在忙就转入manager层,如果manager层在忙就转去director。bq同样也问了半个小时左右。。。 第四轮:tic-tac-toe,给的题目是设计tictactoe,但是写着写着发现她只要实现判断是否是vaild 游戏,以及输赢。bq同样也是半小时左右 其实四轮都不难,但是这个bq太恐怖了。面完四轮,嗓子都说的哑掉,有两面试官网还不好,偶尔还要重说一遍。。move on了反正,求大米!!谢谢!
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
第一轮 Self Introduction BQ: Tell me about a time when faced with tight deadline, there's no time to consider all the options => 被问了细节,有没有向 manager 说你的 decision Coding: OOD: Vending System Users can select item, see the price, buy the item and get the item 向面试官问问题(反向BQ) 第二轮 Self Introduction BQ: Tell me about a time when faced with tight deadline => 被问了细节,tight ddl 之后又做了些啥 Tell me about a time when you help your colleagues/team mates => 被追问了细节,多久帮的,怎么帮的 Coding: OOD: Locker assignment system 一个system管理了很多个locker,这些locker有不同的大小(假设有三个size, small, medium, large),那么快递小哥在放快递的时候应该选择哪个locker放快递 因为脑子抽掉了用了 O(n) 的时间复杂度,所以被追问了 O(1) 的优化 向面试官问问题(反向BQ) 第三轮 Self Introduction BQ: Tell me about a time when faced with challenging project / challenging issue, don't know what to do next, how do you take your next step? Coding: LC 264 丑数II 朴素算法和优化 向面试官问问题(反向BQ) 总结 BQ准备十分不充分 => 之后会认真准备BQ => 主要是 Bias for action 这个 Principle 确实会被考到很多 OOD不太会瞎胡写 => 看 youtube 好好学习 算法题没给出最优解 => 好好复习算法题[/size] 也刷了挺多题了,但是感觉面试之前还是得勤复习这些算法,其实考的都不难的,但是准备不充分就很凉凉了。
--------------------------------------------------------------------------------------
4.5 面试日。 第一轮面试官应该是个东欧大叔,面向凶狠,人很友善。BQ就是很常规的一个问题,我记不太清了,反正十分钟就结束了。开始coding part,给的是一道高频hard merge k sorted lists。其实这题我见过,但看是hard就跳了,面试时心里叫一个苦啊。我就告诉了他我们可以用merge two sorted lists 的方法做这个,但他说这个太brute force了。提示我想想用别的ADT, 我想到了heap,试探性的问了下,他confirm了。然后我就一边跟他交流,一边做题,竟然写出来了。最后他提出了一些地方可以优化,然后我改了改,最后问了下time / space complexity 就结束了。他说you did good, best luck for your next rounds. 第二轮面试官是个伊朗裔美国小哥,人很健谈。BQ问的the most chanllenging project,因为我准备过就直接讲了,然后follow up了几个project details就结束了,不超过12分钟。考coding的时候他先跟我说他准备了三道题,如果我做过要跟他说换题。题目是the min path sum,这种你懂的。。。先写了个dp的次优解,然后优化了下space complexity结束了。开始反向BQ, 聊得很开心,时间到了他说如果还有问题可以继续问。 第三轮是个中东光头大哥, 人比较严肃。 BQ问了tell me a time you made a decision without consulting other people,我也准备了。讲完就开始coding,没有 follow up。 coding 的题目是the number of distinct islands,很久以前做过。我跟他说了下我打算用recursive DFS, 但他希望我用iterative dfs, 我说大哥我一般dfs都用recursive, bfs才用iterative。我说我也知道iterative dfs用stack写,recursive dfs会有stack overflow的问题。他说那行,咱们先写dfs, 再写bfs。因为这题很久以前做的了,所以我写的比较慢,最后还有个condition写错了他帮我改过来。然后就没时间写bfs了,反向bq结束。
4.6 moved to another job. 说实话我还是很担心我的第三轮,感觉是个败笔。 But it is what it is~
4.7 收到offer。还有别的面试,但是压力瞬间小了lol 说实话即使这次面试没过,也给了我一些信心,让我感觉我跟大厂SDE的要求没差太远。
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
一共有四轮 每轮 30min BQ && 30min 做题
第一题 Search Word In A matrix
第二题 Implement Strstr() LC 28 Implement strStr()- Find if a specific substring is in given String
第三题 Implement Unix find command - OOD, Using filters to solve
第四题 Design Amazon Locker Reserve System
面完之后给我从SDE 2 降级成了SDE 1, 我想了一下 可能是因为问问题问了他们 "听说你们有PIP 所以是真的吗" 大家不要问这种白痴问题了
--------------------------------------------------------------------------------------
第一轮就是manager 和 sr manager bq:experience when manager disagree with you doing something which is not your responsibility coding: find judge, judge trust no one and all people trust judge给定一个trust(a,b) 供调用 我第一反应是n2的 拓扑排序 入度出度 后来说可以直接将内外两层i,j 在一次中交换trust中入参位置,但是还是n2 面试官说work, 但是让我优化 我想了半天感觉怎么样也要获取一个人和每个人的联系, 后来面试官一直给hint,但是最后还是没想出来 (第二轮面完了之后一想。。。。。直接优化成quick sort就行。。。。nlogn 第二轮 sr eng 国人 bq:difficult problem with customer achieve something better than expectation coding:ood多态 和继承的区别 说给出例子 我随口说了abstract class 然后就让直接写abstract class的继承和子类调用 第三轮 cbc bq:experience when others disagree with you coding: LC 322 Coin Change 非常简单 提前十分钟面完 第四轮 白人 bq: tight deadline coding:发牌器, 要求有insert delete findrandom find这几个功能 find 和findrandom因为对list有delete操作先写了o(n)面试官说work,问可以o1吗 我说可以用deque 或者stack 将当前item换到最后 直接pop出去 但是bq问多了时间不太够了 面试官说OK works 感觉都不难 但是第一轮应该就是挂了...... 很多帖子都看不了了看在敲了这么多的份上帮孩子加点米吧
--------------------------------------------------------------------------------------
刚刚面试完, 差点没了狗命。 lp 是2题每轮,coding 是1题一轮
amazon fresh ood 设计包装包裹,如果有不同的包裹怎么办, 怎么样设计更灵活
student and groups ood 设计学生管理系统
word search 利口变种
tight deadline
miss deadline
realize something might be wrong and went in to correct it
peer struggle
big mistake
handle doubts 等结果ing.....焦虑
--------------------------------------------------------------------------------------
亚麻L6昂赛 滇缅被hm skip了 直接昂赛 标杆抬升者0:自报家门是标杆抬升者 一大堆bq 小哥1:判断两个多叉树是否相等 忽略每层顺序的不一样 小哥2: 利口的妖舞灵 LC 150 Evaluate Reverse Polish Notation
大哥3: 估计大哥没想清楚题目 实现一个queue 可以reserve top的元素 reserve之后别人不能reserve了 但还可以读取 remove可以从reserve中remove 也可以从queue中remove 稀里糊涂的题 稀里糊涂的写 双方尴尬的一笑 经理0: 设计aws rds 过了两天 猎头告诉过了
我就是按照yarn fair pool scheduler类似思路做的 一个request进来 带着ram/cpu的信息 然后有个resource manager去找在pool里面的机器 然后provision database cluster 就是胡扯就行 hm也没太深究
--------------------------------------------------------------------------------------
4/7 vo 三轮 第一轮 三哥 bq是challenging project。 coding是top view of a binary tree,follow up 是Improve time complexity 第二轮 三哥 BQ是 tight deadline。 然后问了个amazon s3 serive的ood,类似于file system,全程对我爱答不理,估计挂在这一轮了 第三轮 亚裔小哥 bq是 disputing in a team。刷题网而伞 LC 23 Merge K sorted List。 今天后收到拒信。感觉除了第二轮一般其他两轮答得都不错。面试之前recruiter发邮件说可能没有hc了,不知道是不是因为这个原因挂的
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
整体面试感觉还行,除了sd轮的小哥有点push。
代码:给个string ,把里面所有price都降价30% 。特别含糊,需要自己沟通
网上借书系统
讲自己的一个项目
--------------------------------------------------------------------------------------
bq不太记得了 只记得一个describe a time u face an issue but u r near the deadline 求米求米反向问问题就问了些他们组里干的什么 详细问了问project 还有how do u like interviewing people lol
第二道 印度老哥 make a data structure such that it can insert, remove, findMostFrequent element 全部O(1) lru变形题 一开始没想出来 O(1) 解法 只知道用hashmap 因为一直没做lru那题(大家务必做一下)后来问了hint 用doubly linked list加hashmap
第三道 白人小哥 card game every player gets three cards, each card has a color and a value. 3 cards can make different combos. The game should be able to get the winner depending on their combo. 随便答的 写了几个class Game, Player, Card, Combo 感觉老哥们都挺友善的
--------------------------------------------------------------------------------------
先是一顿bq coding题目是给了一个Receipe 类,每个包含一些ingredients,一个已有的方法 def add(Reciepe) 让实现两个interface def getIngredeints(receipe) def getPopularIngredeints() # 返回使用最多的ingredients
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
Last updated
Was this helpful?