中级农民
- 积分
- 104
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2018-12-13
- 最后登录
- 1970-1-1
|
注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
楼主是phd转码,拿了FLAG其中一家的实习和另一家的全职,剩下两家都没拿到过面试所以不知道如果真去面试会怎么样,看了很多人的刷题方法,感觉自己的还有点不一样,总结一下可能对一些跟我情况差不多的人有帮助。
我自己本身有点懒得思考又很依赖习惯,从开始准备到最后全职入职可能有两三年,前期比较困难,因为什么都不会,每天花的时间久一些,中期熟练每天基本不花啥精力,后期面试前会每天全力准备。前期用python,中期后期面试用c++。个人感觉没耽误科研,自己的文章数量质量在同领域同龄人里应该能排中上吧。
TL;DR 我的方法总结一下就是leetcode前200滚瓜烂熟,拿到哪家公司的面试就全力刷面经。leetcode200以后的题除了面经我跟着做了以外其它题目都没刷过也没有买leetcode会员,面经里面遇到需要会员的就去搜一下题目,然后自己做一遍。
我个人的理解就是,一共考点就那么些,前200道都挺基本的,足够自己熟练掌握各个概念顺便保持刷题的手感。现在leetcode都快1500道题了,1000道题里面简单和中等偏简单的题不用刷也会,中等那些需要奇技淫巧的和困难的考了我也认了,面试40分钟能做出来那我运气好,做不出来也正常,没必要专门去准备。我很看重手感,因为有中间有一次回国一个月,再重新刷题感觉很不熟练,所以我觉得刷题多了容易忘前面的,还不如好好记住自己刷的。假设刷了1000道题,就算每天30道那也得30多天,中间肯定忘了,我也不觉得有时间和精力去一天刷30道。可能高效点的是准备错题本,不过我打初中高中就不弄那个错题本,哎,还是懒了。只刷前200还有一个原因,他们的答案是最丰富的,对答案的解释也是最详细的,很方便去知道该怎么写。
具体做了的事情就是下面这些了。
0. python随便看看语法
1. 首先上了算法课 https://www.coursera.org/special ... ructures-algorithms, 用python把所有的课后作业基本都做了
2. 用python刷了一遍leetcode 前200
3. 因为觉得python可能比较不大底层?之后转c++,感觉这个是正确的方向,刷了c++后读java代码也大概能看懂点,实习零基础直接写php感觉也还好。没选java是因为当时觉得c++貌似量化用的多,后面感觉面试什么的两个没啥差别,就一个编程语言嘛。刚开始用c++发现好难,各种乱七八糟的container,还有pointer,iterator,这都什么鬼,比python难用多了,咬着牙用c++刷leetcode前200
4. 长期用c++刷leetcode前200,每天6道,我也不知道刷了多少遍,后期感觉无论题目难易一天一个小时也就够了,基本都是一遍bug free最优解
5. 每天看一集MIT Introduction to Algorithms,来回看,后期1.5倍速
5. 每天看几小段c++,https://www.bilibili.com/video/BV1c4411z7ek,https://www.bilibili.com/video/BV1Zt411P7Zm,来回看,后期也是1.5倍速看,这个主要是防面试问c++的问题,其实概念还是挺多的
6. 概念性的准备了c++的一些问题https://www.geeksforgeeks.org/object-oriented-programming-in-cpp/,面试前看了system design https://www.1point3acres.com/bbs ... read&tid=208829,但是并没有面到过
7. 拿到面试的时候开始找面经全力刷面经,基本上过个两三遍吧,刷的时候不会的题不能bug free的题后面再重点去刷
8. 我印象中没被问到过leetcode前200的原题,但是面经题有遇到过,各种基础题套个情景也遇到过,不过我本身也没指望有面试官会去直接问leetcode前200
总结一下我就是刷题过面试的,实际上码农水平不高。实习和入职了发现还有好多好多需要学的,这些目前也都在向大家学习,也谢谢好多人分享如何入职后提高自己的写代码水平。
求大米?哈哈
|
上一篇: 微软面试真题+面试官改编leetcode思路下一篇: 请教LC233. Number of Digit One时间复杂度
|