注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
LZ疫情期间被雷,而且还在OPT,仅剩两个半月的unemployment days,不得不慌忙重新投入找工。楼主背景偏底层OS,所以面的岗基本都相关。
之前关于亚麻和VMware求建议的帖子:
再次感谢地里的小伙伴们为我出谋划策,现将之前承诺过的面经全部奉上。
[hide=100]
Amazon
lab126设备组,在Sunnyvale,做亚麻自家设备的系统内核,偏embedded system
timeline:
4/9/2020 内推
4/13/2020 HR联系
4/24/2020 电面
5/8/2020 Video Onsite
5/15/2020 HR通知过了
电面1小时:
先3分钟自我介绍,然后bq:tell me about a time that you were assigned a task that was out of your responsibility,个人是围绕亚麻 LP 里 Ownership,Earn Trust 和 Deliver Results 并结合自身经历来答的。
然后问了一基础知识,如C里面auto,static和volatile关键词等,接着问了你知道哪些数据结构,他们相关操作的BIG O是什么。
然后问了些OS,process和thread的区别,interrupt和interrupt handler (围绕top half 和 bottom half来答)。
然后两道很简单的coding,C语言:
1. big endian 和 little endian 转换;
2. 用 linked list 实现 stack 相关 api;
Video Onsite:
4轮,每轮一小时,每轮都有大量BQ,其中有三轮coding,一轮纯BQ
第一轮:bq问项目,围绕LP来答,然后写一个interrupt handler来统计产生了多少个timer interrupt
第二轮:bq问项目,coding:1.大小endian转换(电面才问过。。); 2. LC 273简化版(最高只到thousand位)
第三轮:纯bq,问项目和经历
第四轮:bq,然后coding:1. 给一个可直接调用的api从register读取当前时间,然后自己implement 一个api来output 总共过去了的时间(以0为起点),存时间的register只有32bit,超过32bit后清零,所以你当前读到的时间可能比上一次读到的大,也可能比上一次小(超过了32bit能存的最大值,所以清零),比如上一次读到的值是2的31次方减1 nano seconds,然后清零,接着读取的时间为清零后某小于,2的31次方减1的值,这个case需要你合理地handle来反馈正确的总共过去的时间。另外限定条件是两次api call(你自己implement的api,不是给你调用的api)的时间间隔不会超过一整个32bit的最大值(也就是说两次call之间最多会发生一次清零),这个不需要你自己实现,只是用户使用你的api的限定条件,不然超过一次清零的话无法得出准确的总时间。
这道题楼主答得很崩,光是理解题意就花了20分钟
2. LC 110
总结:亚麻这个岗问了很多跟embedded system相关的问题包括coding,无奈楼主毫无embedded system相关背景,只能靠OS的知识硬答,然后所有coding算法都不难,仅有一道的高频hard还是简化版。其实楼主感觉面的并不好,但最后HR居然告诉我过了,可能时由于bq准备的比较细吧,所以大家面亚麻之前一定要好好围绕LP准备bq,然后一定要对自己简历里的项目了如指掌,楼主当时是专门写了五页的小故事和经历。另外轮到自己提问的时候,尽量每个面试官都问不同的问题,不然同一个问题反复问会让面试官在一起debrief的时候觉得很敷衍。
Apple
第一个组:core os,写System Services & Daemons
timeline:
4/22/2020 HR联系
4/27/2020 HM电话了解背景,无technical,第二天HR联系安排第二轮电面
4/30/2020 电面,technical,第二天HR联系安排Video Onsite
5/6/2020 Video Onsite
5/11/2020 发邮件follow up告知挂
电面,techinical:
抖音:
SRE infrsturcture的组, 总共四轮
timeline:
4/14/2020 HR联系
4/20/2020 第一轮,面完一小时HR就通知过
4/28/2020 第二轮,也是面完当天就通知过
5/5/2020 最后两轮,面完第二天通知过
第一轮:第1题:interleaving of two arrays,比如第一个array:[1, 2, 3, 3,4, 4] 第二个array:[8,0,3,4,4,5],输出:[3, 4, 4] 第2题:LC 78
第二轮:问OS相关概念,集中在Linux signal,paging,swapping
第三轮:LC 76
第四轮:manger聊天,问简历
总结:湾区抖音面试流程短小精悍,基本全程中文,算法难度为medium到高频hard,也会根据你的背景考察一些基础知识。另外楼主看之前很多人面字节或者抖音,碰到国内面试官,体验很不好,这里教大家一个简单的trick:尽可能把面试约在美西时间的下午,1pm到5pm之间,这时候正值深夜,国内面试官都在睡觉,自然不会安排他们来面你了。
三星
Nvme组,写ssd的firmware,偏embedded system
timeline:
4/1/2020 HR联系
4/8/2020 电面,techinical,第二天HR通知过了安排Video Onsite
4/17/2020 Video Onsit
4/21/2020 HR通知过了
电面:国人老哥,直接中文,问了道大小endian转换,然后给一个array,找到最长的递增subarray,口述不用写代码
Video Onsite:
第一轮:同一个国人老哥,让我把电面问的问题用代码写出来,然后拓展到二维matrix
第二轮:问简历,然后LC 190
第三轮:manager,大小endian转换(是的同一个问题一个月内被问了四次),然后linked list删除一个给定值的node,然后让我问问题
第四轮:问了一堆python相关的基础问题,比如python和C谁跑的更快,同样的代码不同的平台python的输出是否一样等等,然后问了问简历
第五轮:问了一堆OS相关的问题,主要集中在interrupt(发现embedded system相关的岗都喜欢问interrupt),然后写一个 binary search
总结:三星的面试也中规中矩,整体来讲难度相对简单,算法难度基本easy,可能跟我面的岗要求不高有关,但这个组做的东西不太喜欢。
[\hide]
|