所有找码农工作的人都说刷题很重要,但你确定你知道如何正确地刷题么?
还在担心刷题次数不够多的话,你就真的抓错重点了。
快速划重点
1、 编程基础知识没掌握好,盲目刷题费力不讨好;
2、刷题是为了能在面试中“说”出解题过程,其次才是写出高质量的代码
3、刷题次数不能说明任何问题,是否能总结出回答问题的模式并熟练掌握才是关键;
4、留出充分的时间刷题,但也不要因为没刷完题而不敢争取面试机会。
1、Leetcode不是课后练习题,不推荐通过刷题来学习编程
你不会通过直接做TPO来学习托福基础知识,同样的,刷题目的在于检测你的编程知识掌握情况,提升应试技巧,而非教你如何编程。
请通过学校的课程、网上公开课、CC150等书籍来系统学习编程知识。如果你还不能明晰以下几个最基础最高频的知识点,在英文环境中熟练掌握他们的原理和使用,请不要轻易开始刷题。
Hash table/Hash map, Recursion, Linked list, Dynamic Programming, Bubble sort/Merge sort,Binary search, Binary tree, DFS/BFS
2、刷题应当比照准备托福口语的方法而非托福阅读;
软件工程师技术面试题不是托福阅读题,而是托福口语题。只有你能说出来才是有效的。面试你的不是代码测试机,你必须要通过有条理的叙述和反馈互动,带领面试官参与你的解题过程,逐步深入。分析题干条件->破题->确定解决方案->按规范流程写出代码->优化->测试->评价自己代码的优缺点。如果是Onsite面试,你在说的过程中还要配合适当的板书,画出分析图或者代码流程图。
想要知道自己是否达到这个标准?试试看你是否能扮演老师,给你的朋友用英语讲清楚这道题的始末。或者参与我们即将开放的模拟面试课程。
3、刷题次数最多的人,不一定是准备最充分有效的人
刷题100遍这种事情,并不能打动面试官。每做完一道题(按照第2条那样的标准做完才算数)是否总结过,这道题和另外哪些题有共通之处?积累一定数量的练习后,你会发现大部分的题目都集中在几个高频知识点上,解题中可能用到的优化方法,也无非那么几种。
此时,你就可以像开发自己的托福口语模板一样,按照知识点分类开发出自己的解题模板,以不变应万变。如果不能总结出有效的模板,很容易陷入刷完一题忘一题的怪圈,或面试中一旦碰到变形题就慌张失措的窘境。而这两条产生的原因,绝对不是因为你刷题的次数不够。
4、安排好刷题和投简历、面试的时间线,不要错失机会
刷题是一个很耗费时间精力的事情,需要你提早做好时间规划,给自己留出充足的时间。对于编程基础还不扎实的同学们来说,从现在开始,就可以着手编程基础提升来应对今年九月的求职季了。等到七八月暑期实习的时候,你应当已经掌握必要的知识,开始通过大量刷题练习来保证自己九十月求职黄金期的应试状态。
不过,即便是没能做到提早刷题,千万不要因此就不敢投简历,去争取面试机会。第一,现在刷题并不是唯一的录取考核标准;第二,从你投简历到拿到面试,中间一般都还有一段时间足够你突击准备;第三,有些公司如果错过投简历时机,可能连面试都拿不到,你针对面试所做的刷题准备也就无用武之地了。
我们是一群15年刚刚从血泪码农求职之路杀出,现任职于FLAG的软件工程师。欢迎关注北美码农求职WiKi公众号,获取求职咨询。

继续阅读
阅读原文