零基础转码刷题,谈谈我的经验感悟(已拿字节offer)
source link: https://zhuanlan.zhihu.com/p/413079395
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
零基础转码刷题,谈谈我的经验感悟(已拿字节offer)
首先说说我的情况,给正在犹豫要不要刷题转码的朋友提供一些不一样的视角。
本科末流985的数学专业,四年都是纯数方向,接触到的唯一可能和编程相关的是matlab,到了找工时节开始决定转码,最开始自己摸索着刷题的感觉be like↓
第1个月:学完DFS,做DFS不会;学完递归,做递归不会;学完DP,做DP不会;学完贪心,做贪心不会……
看书马冬梅,合上书就是马什么梅了,那段时间感觉智商快不够用了,就算理清了算法逻辑,看到题目还是要想上半个小时。
再后来,同校的师兄指点我“不要为了刷题而刷题,先去把算法与数据结构的基础系统的学一遍。”
期间我也踩了不少坑,有些书是买回来就搁置了的,还有些视频/网课听得我云里雾里,所幸,我慢慢摸到了门路,我总结了几个对提高数据结构和算法有用的网站/书籍:
①《大话数据结构》:以一个计算机教师教学为场景,讲解数据结构和相关算法的知识。这本书的优点在于非常浅显易懂,内容趣味易读,但是算法的讲解十分细致,如果基础薄弱/0基础,很适合。
②CodeGym :一个在线Java编程课程,80%的内容是练习,适合一窍不通的入门者,刷LC之前可以用它过度一下。
③Coursera:Princeton University的算法系列课程,免费注册,适合掌握至少一门编程语言的初学者。
这一阶段下来,我对算法与数据结构有了个比较系统的了解,夯实了基础知识后,就可以开始刷题了,这时候刷题不至于会“怀疑智商”。
而靠刷题上岸这件事,我认为运气能占70%,实力只占30%:
大厂题库动辄上百道,仅仅刷完BATJ,FALG这样的大厂题库可能都要三四个月时间。
所以就需要掌握技巧——按照TAG来刷题,只刷最新面经题。那段时间翻看面经我发现大厂最多会考察近六个月的算法题,再旧的题目就没有任何刷的意义了。
这里也推荐一下Lintcode的企业题库,刷题期间发现的宝藏网站。
题目更新很及时,而且国内企业国外企业都有整理,按照时间筛选刷最新的题,面试中基本都能碰到两三道,运气好甚至全是原题。
最后,我整理了一些算法和数据结构的高频考题,大家可以刷刷看:
字符串:
二分法:
BFS:
DFS:
动态规划:
哈希表:
递归:
最后,刷题也不是一朝一夕的事情,需要有计划有目的的执行,我从决定转码到上岸字节也用了半年之久,题目少说也刷了500+,面试中基本都能做到bug free。
天道酬勤,希望大家也能坚持刷题,早日上岸!
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK