在我认识的程序员当中,10个里面就有5个想翻墙(包括我)。运气好的一两年内上岸,运气不好的一不小心就会被划伤屁股...

如果你铁了心想去欧美国家当码农,需要尽快选好起跑线。以老美为例,最常见的方式无非以下三种👇
1、出国读研,拿opt,找工作,抽H1B:
好处:读研后上岸几率大,相对稳妥,有机会冲刺FLAG
坏处:非!常!花!钱!,而且两年不工作压力超大
2、在国内外企工作,L1Transfer(最好是微软/谷歌):
好处:按部就班的进行,有收入还能积累经验,顺便看看自己到底适不适合翻墙,比较稳妥。
坏处:时间周期非常长,而且Transfer的时候没有股票,工资可能会被压低,身份也是个问题。
3、直接投简历给国外企业:
好处:成本低,可以骑驴找马。
坏处:非常难非常难,很多人找内推都没有面试机会。
三条路各有优缺点,我之前尝试过去找内推,直接投简历这个方法,结果被hr秒拒。所以这条路只适合大牛走,菜鸡真的别试了...
然后我就开始研究从国内Transfer这条路。听说微软是外企当中Transfer最多的,而我的坐标又在江浙沪。于是开始看面经,埋头刷微软算法高频题,托人内推,最后竟然进了。

总结下来微软面试主要看重以下两点:

01
算法面:要实力,也要代码质量,更要communication
扎实的算法基础可以通过打比赛,刷微软算法高频题来获取。快速提高代码质量可以搭配硅谷资深面试官令狐冲的算法与数据结构免费讲座做进一步提升。
扫码报名,免费试听讲座
算法常考知识点
二分搜索 Binary Search
分治 Divide Conquer

宽度优先搜索 Breadth First Search

深度优先搜索 Depth First Search

回溯法 Backtracking

双指针 Two Pointers

动态规划 Dynamic Programming

扫描线 Scan-line algorithm

快排 Quick Sort
数据结构常考知识点
栈 Stack

队列 Queue

链表 Linked List

数组 Array

哈希表 Hash Table

二叉树 Binary Tree

堆 Heap

并查集 Union Find

字典树 Trie
除此之外,在家用白板练习也很重要,而且需要尽可能的将时间控制在30分钟之内,我是前期基础比较薄弱,所以我就通过《九章算法班》来提升算法能力的。
主讲老师是FB出身,能帮我解决很多算法上的难题,包括如何提升我的代码质量。真心推荐,感兴趣的可以免费试听一下。
扫码报名,免费试听
02
项目面:必考系统设计,要有拿得出手的项目
主要考察你是否能独立设计一个大型系统,我之前被问道的是秒杀相关的问题,套用了我在《系统架构设计讲座》中学到的【理想化流程】来作答的,面试官说看起来还不错。
扫码报名,免费试听讲座
然如果你有时间,可以沉下心从0到1去做一套工业级项目,即使不翻墙,去面FLAG也绝对加分!
可以跟着Facebook资深架构师免费学习《Twitter项目课》,带你从零设计Twitter,最终搭建一个P8(L5)水准的项目。项目涉及万行代码,最终成果是一个可上线的工业级别的项目,而不是像市面大多数项目课程简单做个demo。
扫码报名,免费试听

进了微软之后,才开启了正式翻墙的第一步

需要一刻不停的努力工作,搞好人际关系,不断打听Transfer政策...然后等一个“幸运”降临。回想了一下我大概是用了3年多的时间拿到了美国offer...
(不过随着WFH的普及,听说现在微软翻墙也是越来越难了,但跟其他路径比起来还是...嗯...)

最后,有机会靠直接投简历的方式获取面试资格的大牛们,可以直接按照谷歌的面试流程及标准进行备面。

基本可以攻克北美70%公司的面试套路。
谷歌面试大致流程如下👇
一般谷歌是有4-6轮的面试,按照考试类型可以简单分为算法、设计和BQ。
Coding轮(50%-80%):
简单来说就是考算法题,除了面试官出的题要做出来,还要应对面试官的follow up,一般能把题目做出来,且和面试官进行流畅的沟通,这轮基本就稳了。
Design轮(20%-30%):
按照类型可以简单分为系统设计和面向对象设计。面向对象设计(OOD)主要面向应届生和工作1-3年的程序员,系统设计则主要面向工作3年+的资深工程师。
Behavioral Question轮(10%-30%):
即行为面试问题,简单来说就是不考技术相关的知识,而是考验你与人沟通、合作、处理问题等职场软技能。
而这几轮的准备方式跟微软的备面类似,着重coding的质量和速度,可以通过多刷精刷高频题来补全。我把最近搜集的新题都整理好了,需要自取:
  1. 最长回文子串
  2. 字符串解码
  3. 员工的重要度
  4. 最长字符串链
  5. 小行星的碰撞
  6. 等差切片 II - 子序列
  7. 最短的唯一单词缩写
  8. 统计全为 1 的正方形子矩阵
  9. 满足要求的子串个数
  10. 基础计算器
  11. 会议室4
  12. 合并区间
  13. 直方图最大矩形覆盖
  14. 赛车
  15. 课程表
最后祝愿大家都能顺利翻墙上岸!
戳下方
阅读原文”免费试听课程
继续阅读
阅读原文