Posted on:
Last modified:
最近断断续续面试了三个月,这波拿了美团、百度、阿里、中信和苹果的 offer, 分享下刷题经验
最后一点,刷 LeetCode 其实就像是大学里的期末考试,如果你两周复习时间可以搞定一门期末考试, 那么两周时间也完全能搞定 LeetCode。要做到「战略上藐视,战术上重视」。
按照考察的方面,题目大概分成两类:
对于递归题目,拿到题目首先要思考:
然后再考虑选用哪种实现方式,是回溯还是动归。
不要沉迷于研究语言特性。
就像上面说的,使用自己最熟悉,日常使用最多的语言。不要觉得 C++ 或者 Java 或者 Whatever 刷题最爽,或者你看的答案采用了什么语言,抓住主要矛盾,你是来刷题的,不是学习新语言的。 我之前犯得错误就是边学 Rust 边刷题。
不要沉迷于数论
LeetCode 上有一些涉及到数论的题目,但是代码面试不是 ACM, 也不是你的大学期末考试。最多 熟悉一下排列组合算法、全排列和欧几里得算法就行了,不要沉迷于数论。
要总结自己的特殊问题
说了这么多,都是共性的问题,但是每个人都会有自己特殊的问题。比如说我的问题就在于不太 敢用字典,总觉得会让人感觉投机取巧,我一个工作四年的人,肯定是知道字典的,但是做算法 题的时候总在潜意识里避免使用。实际上 LeetCode 第一题就用到了字典。
2022 更新
给工作经验在7年以上的程序员提个醒,如果你面的是需要写代码的岗位,最好还是把基础的树的遍历、 排序、链表相关操作熟悉一下。就我个人作为面试官而言,对工作经验丰富的工程师我不会给一道 hard 刁难,但是你连树都不会遍历就说不过去了。即使我愿意放水,面试反馈都很难圆回来。
© 2016-2022 Yifei Kong. Powered by ynotes
All contents are under the CC-BY-NC-SA license, if not otherwise specified.
Opinions expressed here are solely my own and do not express the views or opinions of my employer.
友情链接: MySQL 教程站