最快拿到亚麻,狗家,Meta大厂offer的面经攻略!记住:“方法永远大于努力!“
从北美最近校招offer情况来看,计算机校招生的薪资水平,大厂给到的算法SDE岗待遇,普遍比后端、前端的岗位高一些。
![2096a7f6b7e3c190cbcc62c3b833edb1.jpeg](https://i-blog.csdnimg.cn/blog_migrate/a4f28d21d3d8418f0f1951edcd56c699.jpeg)
因此,算法工程师也成了很多同学求职的第一意向。
就在上周,收到了一个同学发来的一手update:这位正在面亚麻2023 New grad岗的小伙伴,已经结束了所有的面试流程,就差面试结果通知了!
![413242befbd33f6378f9d02ef5a2130b.jpeg](https://i-blog.csdnimg.cn/blog_migrate/b47e5aba2865167d19ff9448dc942dd6.jpeg)
同时,他还分享了自己的求职时间线:
❤6月25日
NG开岗当天火速投递简历
❤7月18日
第一轮Online Assessment
❤7月19日
第二轮Online Assessment
❤7月26日
Virtual Onsite
这不禁让人震惊速度如此之快!!
当然也得益于:最近亚麻放出了 大批秋招岗的全职和实习机会。
但投出简历≠拿到Offer,前期如果不做好充分的准备,也只能是面试场的炮灰!
在整个面试中不仅需要面试者对①理论知识、②动手coding能力、③行为表达(BQ)也直接影响了最终的面试结果。
由此不难看出,如果在准备不充分的情况下贸然投简历,结果只能是石沉大海……
![c2b92e560dfa6278ef943b162e798ce4.jpeg](https://i-blog.csdnimg.cn/blog_migrate/ca3e23adafc58c09506f9ce7008b262b.jpeg)
招聘岗位虽多,你真的能抓住吗?
★记住这四点,优化简历,快人一步!
1、提高算法知识体系——【面试必考】
2、提升编程coding能力——【扎实基本功】
3、模拟面试技巧——【提升第一印象】
4、针对岗位需求优化简历——【契合匹配度】
→→为了帮助各位同学顺利拿到理想offer
作为前FB面试官,根据200+面经,我会从 算法面试and系统设计方面跟大家分享该怎么准备才能更容易获得面试官的青睐!
(★文末附总结:《FLAG公司最新真题》,干货较多,建议先收藏防止走丢!)
![9a9fe174369105560902a2794fa8bbbc.png](https://i-blog.csdnimg.cn/blog_migrate/d5a8a00df3c8e29a126f29bc51723947.png)
一、算法备考建议:“抓住高频考点,套用模板解题”
以亚麻为例,遇到原题的概率在90%以上,在备考时一定要把精力放在重点题型上,时间成本最优化才是王道,刷到这些都是钱啊!!
![f0f73846d8d68d206f8ba19de9d88219.jpeg](https://i-blog.csdnimg.cn/blog_migrate/5f267dad9eb68ef218ee542a85c7b39b.jpeg)
算法≠算法面试
内容那么多,常考的却不多,很多同学明明刷了500+的题,但面试中依然跪,主要就是没刷到重点。
https://xg.zhihu.com/plugin/bb04391e7544fd4ff9312b37c18f57b0?BIZ=ECOMMERCE(建议先大致听一遍,了解面试知识重点,能够把这门课吃透,面试完全够用了。)
为了更有针对性、更高效的去冲刺面试,业内大牛都很推荐《北大算法课》这门课程。前FB面试官令狐老师已经划分好了FLAG大厂面试中最常考的算法和数据结构,颜色越红考的越多。
![83d4a4bff146a05061b29ec5b3967280.jpeg](https://i-blog.csdnimg.cn/blog_migrate/ace472810f367cac7cedb940a6ce6295.jpeg)
这些高频知识点都有详细的专题去拆解,看完老师的讲解还有同步练习题帮助我们加强记忆,做到高效理解运用。
![0fa5b91abea741d5e21611c14ef9ed30.jpeg](https://i-blog.csdnimg.cn/blog_migrate/870af7c15b22ae5b546d07c178776442.jpeg)
“拿到题选什么算法”和“如何实现这个算法”。老师会根据这些面试高频考点总结出不同类型的“模板小抄”,面试直接套用简直绝绝子~
![23bfadf1159318f7003ed2c814715205.jpeg](https://i-blog.csdnimg.cn/blog_migrate/7f07bd69f15d6eb2ccb4fa2a9bc77ab0.jpeg)
这套算法模板可以堪称“作弊神器”,包含面试常考的12个算法考点和数据结构知识点。熟记+套用,可以轻松秒掉面试中常见的Hard题!
![8cec2434fcbc26e59975be9acd00514d.jpeg](https://i-blog.csdnimg.cn/blog_migrate/9793893a5492f234fe9c2931658c2010.jpeg)
这套难得的模板小抄就在《北大算法课》当中,感兴趣的同学可以去听一下,链接我放下面了。
https://xg.zhihu.com/plugin/bb04391e7544fd4ff9312b37c18f57b0?BIZ=ECOMMERCE(建议先大致听一遍,了解面试知识重点,能够把这门课吃透,面试完全够用了。)
除了会讲如何高效刷题、掌握面试算法外,老师还会亲授面试中正确沟通的技巧,培养coding style和bug free的能力,帮我们在1个月内搞定算法面试。
现在市面上关于冲刺面试网课有很多,但真正有用的可谓凤毛麟角……令狐老师这门课程是我身边很多北美程序员朋友都有过的,并且顺利拿到了offer,还是很推荐的!
二、系统设计:独特4S分析法,分分钟套用面试题型
系统设计面试的问题通常以“设计××系统或设计××系统的××功能”的形式出现。
系统设计面试原题居多,一定要刷近期的高频题,很多公司通常会混着experience一起考,直接决定能否hire。
根据很多面试同学反馈,系统设计翻来覆去考的都是原题。比如那道设计Twitter,就反复被各大公司一直考。
![cdef97610612b6f4cd3038814030d009.jpeg](https://i-blog.csdnimg.cn/blog_migrate/7accc0e234c6feb4d2a4a0e8150b4bc2.jpeg)
(课程主要讲解了如何用“4S分析法”解题,刷一题可以达到3题效果,让面试官眼前一亮。)
在《系统设计2022》中,老师帮大家梳理了所有大厂面试常考的16种题型,从解题思路到follow up,都讲得明明白白。这不比自己盲目刷题香多了!
![70bd7493e4066733d66416d7be6e175a.jpeg](https://i-blog.csdnimg.cn/blog_migrate/16038d96a9c0d724a6c2fbbe594c4057.jpeg)
很多职场老鸟,虽然工作经验丰富,但是平时很少有机会接触到系统设计的全过程,面试时更是毫无头绪。
其实系统设计都是有技巧的,下面这套4S分析法,可以套用所有的系统设计面试问题。
![654ec0878e7afabd7e8f5673a356cf2e.jpeg](https://i-blog.csdnimg.cn/blog_migrate/2cb714dc8b7c0bb99ff74dd0f78d8bd4.jpeg)
通过这4个步骤,你就可以将系统设计题进行拆分,然后在与面试官的沟通中慢慢优化,再难的系统设计题也能找到思路,给出一个让面试官满意的“标答”!
就职于FLAG大厂的四位资深架构师,独创以刷题方式搞定系统设计的训练方式。不用平时积累上万行代码,只需跟着老师边刷边学,就能快速理解系统设计核心知识点。
![981d084e540fe65645e5236f1c95a6f1.jpeg](https://i-blog.csdnimg.cn/blog_migrate/b157e8987354330eea7c56f6360e4cec.jpeg)
配套42道系统设计练习题,平时不用积累上万行代码,只需跟着老师边刷边学,就能快速理解系统设计核心知识点,全网没有一门课程这么做!
![53ad42859cb00e99cdd2df4cfe698aab.jpeg](https://i-blog.csdnimg.cn/blog_migrate/ed809893fb010322a77c5d7ff344b7dd.jpeg)
对于基础知识不扎实的同学,大厂资深架构师首先会把系统设计的基础知识讲解一遍,配套对应面试真题,以刷题的方式帮助我们理解记忆真题,做到举一反三。
https://xg.zhihu.com/plugin/124d9f14c3e37b2b3ffe0c336dff9915?BIZ=ECOMMERCE(课程主要讲解了如何用“4S分析法”解题,刷一题可以达到3题效果,让面试官眼前一亮。)
如果你最近准备面试系统设计,很推荐听听老师主讲的这门课程,讲解的很细致很好理解,还额外告诉我们面试技巧,学会巧妙化解面试官的“坑“。
写在最后——FLAB面试最新真题汇总
【1】Amazon
①算法部分
102 · 带环链表
103 · 带环链表 II
838 · 子数组和为K
383 · 装最多水的容器
1723 · 网格中的最短路径
612 · K个最近的点
1380 · 日志排序
1065 · 我的日程安排表 I
117 · 跳跃游戏 II
389 · 判断数独是否合法
616 · 课程表 II
980 · 基础计算器 II
849 · 基础计算器 III
1274 · 查找和最小的K对数字
406 · 和大于S的最小子数组
134·LRU缓存策略
56·两数之和
362·滑动窗口的最大值
149·买卖股票的最佳时机
506·电影推荐
34·N皇后问题(二)
442·实现 Trie(前缀树)
②系统设计部分
1、亚马逊下单时选择附近Lockers的功能;
2、园子里每个坐标都有一个感光器,设计系统监视日照时间超过六小时的坐标;
3、设计music streaming 系统。着重设计usecases, API, database, application server, cache
4、设计一个autocomplete search 系统,按prefix搜索。
5、设计一个系统给EC2上所有的instance 打补丁,本质上一个scheduling系统
6、经典的design parking lot;
7、设计阅后即焚 设计一个能查看附近人发帖的微博
8、要求设计一个在线文 本分享的系统,简化版的google doc, 标题(optional), 内容只 有文字(required),过期时间(optional, default 1年), 要有个 url用于将来的分享,要求create/read就行 delete/update可以没有,系统要求 读多写少,load average。
9、设计类 似UBER的服务。
10、设计一个content management system。
【2】Google
① 算法部分
650 ·二叉树叶子顺序遍历
1723·网格中的最短路径
1361·文字并排
1435·字符串中的查找与替换
1024·满足要求的子串个数
424·逆波兰表达式求值
1177·学生出勤记录 II
257·最长字符串链
889·屏幕句子适配
1184·最小时间差
305·矩阵中的最长递增路径
1108·寻找重复的子树
1082·员工的重要度
811·在 LR 字符串中交换相邻字符
1869·统计全为 1 的正方形子矩阵
1370·赛车
857·最小的窗口子序列
1100·奇怪的打印机
600·包裹黑色像素点的最小矩形
575·字符串解码
1289·原子的数量
1014·打砖块
849·基础计算器 III
1149·有效的正方形
1022·合法的井字棋状态
1741·RLE迭代器
②系统设计部分
1、 设计chrome的phishing detection功能,假设ML team可以提供所有phishing url。
2、 设计slack
3、Design Video Streaming Service like Netflix
4、设计一个实时用手机扫描text在线翻译系统
5、rate limiter
6、设计智能手机上使用的activity tracker app
7、设计Google搜索中的问答功能
8、每个国家地区有一些ip 是被禁止的,要求设计一个功能能拦截来自这些ip 的访问
9、设计个数据结构,给一堆 ip 网址的pair 例如(1.2.3.4, "googlevideo.com"),要求能查找 某个ip 访问过的所有网址
如果每个访问有expiration time (1.2.3.4, "googlevideo.com", 60) 表示60秒过期,要求查找返回的 网址是没过期的
10、设计个数据结构储存文件,要求能够根据id 返回文件夹或者文件的大小
11、ML/NLP Knowledge/Design
12、设计一个data strcture来存储输入的图形
13、设计一个能够auto complete的language model。怎么设计model,如果需要保护隐私,怎么设计data flow和training flow
14、在内存1GB的机器处理6TB日志文件,设计一个API返回top K的日志
15、给餐馆设计Waitlist系统,要求一群人数已知的顾客可以加入排队,也可以离开队伍
16、设计一个数据结构build dom 基本的json2dom traversal
17、设计一个数据结构保存时间段
18、设计一个翻译系统, 支持英语和西班牙语言的相互翻译
【3】Airbnb
1800 · 浮点数组合和
1361 · 文字并排
1359 · 有序数组转换为二叉搜索树
1333 · 颠倒二进制位
1299 · 猜数字游戏
1288 · 重新安排行程
1049 · 金字塔转换矩阵
1029 · 寻找最便宜的航行旅途(最多经过k个中转站)
941 · 滑动拼图
892 · 外星人字典
851 · 倒水
850 · 员工空闲时间
775 · 回文对
655 · 大整数加法
605 · 序列重构
601 · 摊平二维向量
577 · 合并K个排序间隔列表
535 · 打劫房屋 III
380 · 两个链表的交叉
363 · 接雨水
685 · 数据流中第一个唯一的数字
1320 · 包含重复值
981 · 基础计算器 IV
【4】Facebook
1001 · 小行星的碰撞
7 · 二叉树的序列化和反序列化
6 · 合并排序数组
980 · 基础计算器 II
1205 · 对角线遍历
52 · 下一个排列
74 · 第一个错误的代码版本
154 · 正则表达式匹配
1095 · 最大的交换
1704 · 二叉搜索树的范 围和
1391 · 生成更大的陆地
163 · 不同的二叉查找树
(ps:上述题目序号为Lintcode题库中对应内容)