长期准备
想要拿到微软 offer，只靠面试前几周的冲刺是万万不够的。只有细水长流，把自己的实力全面提升，才是重中之重。

基础知识
这个不用多说，作为一个优秀的程序员必须要很好地掌握编程语言、数据结构、算法、数据库、操作系统、网络等基本功。

刷题
韩老师当年毕业找工作时，看的是何海涛老师的《剑指Offer》，讲的非常全面，值得一读。
近些年来，刷 LeetCode 越来越流行。有很多童鞋会问，刷多少比较合适呢？当然是多多益善咯~ 不过一般来说，韩老师觉得，至少刷个 50 题，是个比较合理的数量。当然，如果你之前搞过 ACM 或者 NOIP，你可能只需要练练手，找回当年的感觉就行了。

在 LeetCode 刷题时，要注意控制做题的时间。做完题目就算 AC 了，也要参考学习一些其他人的解决方案，开阔自己的思路。刷题不仅要有数量，还要注重质量。推荐大家使用 LeetCode for VS Code: Offer 收割利器 进行刷题。

说到《剑指Offer》，还想起当年一件有意思的事。有次吃完午饭，在公司附近散步，正好遇到了何海涛，他说他那时来面微软，遇到了各种奇形怪状的难题，也是醉醉的。哈哈~ 我在想，也许当时面试他的面试官都是看的他的《剑指Offer》面进的微软，一定是要绞尽脑汁，出一些何老师没有遇到的题吧~

英语
无论你是否在外企工作，当遇到技术问题时，用英语在 Google 或者 Bing 进行技术相关内容的搜索是必备的能力。有大量的第一手的技术文档或是博客都是英语的，如果你没有用英语进行学习的能力，很难成为一个真正优秀的程序员。

做一个骄傲的 Stack Overflow 程序员也是走向成功的必经之路。

在微软的话，有些组是需要和美国总部或是其他国家的同事合作的，能否与国外同事谈笑风生，就要看你平时的积累了。

开源项目
近些年来，微软越来越拥抱开源。VS Code 就是一个最好的例子。如果你有一个好的开源项目，一定是一个加分项。如果没有自己的开源项目，积极地参与到其他开源项目，也是个很好的选择，可以发 PR 也可以提 Issue。

参与开源项目，对自己也会是一个很大的提升。韩老师自己就是个很好的例子。
针对性准备
针对所要面试的职位，做出有针对的准备，才能事半功倍。

简历
准备英文简历
事实就是：除非你是真的精通某个技术栈，否则慎用“精通”二字。
针对面试的职位，突出重点：比如你是面我们的 Java 组，在简历中可以着重突出 Java 相关的项目和技术栈。
白板做题
微软面试一般是在白板上做题。离开了 IDE，你是否还能轻松写出高质量的代码？建议在面试之前，脱离 IDE，进行一些训练。一般来说在面试做题时，对语言没有硬性要求。如果做题时，忘了某个语言的 API 具体的签名或是参数，也不是问题，只要和面试官说清楚就行。我们并不是考察你对某个语言的 API 有多熟练。

面试流程
微软的面试流程一般是：1 轮电话技术面试 + 4-5 轮现场技术面试（ 45-60 分钟 /轮）。和大多公司的面试情况一样，面试轮数越往后，面试官的基本越高。一般来说，最后一轮的面试官就是你面的组的大老板了。每一轮面试一般分为三个方面：自我介绍、聊项目、做题。

自我介绍
自我介绍时，要突出重点，把自己的优势都展示出来。而且也要准备英语版本的自我介绍。当然，你也可能遇到外国童鞋面试官，那你就要全程英语面啦~

聊项目
自我介绍之后，面试官一般会根据简历和你的自我介绍进行提问，聊聊你的项目和技术栈。最重要的一点，还是“实事求是”。自己简历上所提到的所有东西一定要能对答如流谈笑风生。介绍项目时，可以使用 STAR 面试法：

Situation：简短的项目背景
Task：自己完成的任务
Action：具体实现，用到的技术
Result：自己的贡献
做题
做题当然时面试的重点啦~ 在面试官说出题目后，一定一定要先了解清楚需求，不要马上就蒙头写代码。要善于向面试官提问，把需求了解清楚，然后花时间去想一想思路。有了思路后，也不要急于撸代码。先和面试官沟通下你的想法，如果面试官觉得 OK，那就可以开始写了。如果一开始没有想出最佳的算法，也可以先想个简单的方案，和面试官说说你的可能不是最优解的想法。也许在沟通过程中，你又会有新的灵感，或者面试官也认可你先写当前的方案，可以之后再优化。

多沟通！多沟通！多沟通！重要的事说三遍！

在写题时，要注重代码风格和命名规范，也要考虑到各种 corner case。写完题目后，要能准确地分析出时间复杂度和空间复杂度。面试官可能还会让你写一些测试用例。在设计测试用例时，对于基本功能、边界情况、性能测试，都要考虑到。
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence