首页 > 【笔试准备专题】拿了几家大厂offer的笔试准备经验,快上车
头像
许嵩不爱吃土豆鸭
编辑于 2021-05-21 16:22
+ 关注

【笔试准备专题】拿了几家大厂offer的笔试准备经验,快上车

去年秋招,拿到了大中小厂总共30多家offer,地点武汉+北上广深,其中有字节、腾讯京东小米等一些互联网公司,也有高德、梅卡曼德、先临三维等一些实企,还拿到像浦发,吉利、中船系研究所这种加班相对不高的offer。最后选择了自己比较喜欢的字节,这里分享点自己的小小经验供大家参考。

关于笔试:


笔试在找工作过程中非常重要,是能否进入面试的必须通过的一关。在简历筛选后做了性格测试,下一阶段就是笔试了。对于笔试(这里只讨论互联网相关hc),通常包括基础题:选择题(单选、多选)、填空题和判断题,以及编程大题或主观题。对于技术岗来说,通常编程题占主要部分。

笔试过程中关于基础考察主要涉及:数据结构、算法、计算机网络、操作系统、Linux、数据库等。大多数以选择填空提的方式考察。
分值占比通常是小部分,大头还是编程题。部分岗位的笔试可能都是编程题,通常3-5个。

刷题:

在笔试阶段,除了基础题外,编程题考察数据结构与算法较多,准备过程中需要刷题。对于非科班同学,可以先看《大话数据结构》,这本书通俗易懂。科班同学可以看看《算法导论》、《算法图解》、《编程之美》等。有基本的数据结构与算法积累后,建议先尝试《剑指offer》,里面的题目比较简单、经典。《程序员面试宝典》可作参考,好像后面又有了《程序员面试金典》。

关于刷题,推荐牛客:推荐指数:

牛客题目比较多,包含各个大厂真题,也是很多公司笔试面试的平台,非常适合刷题。


刷题分很多模块:算法、数据库、多线程等。其中最主要的是HOT100、高频题等,前300道题目最好全部刷完,在刷题的时候记得做笔记,归类总结。

面试过程中也要手撕代码,通常3个题以内,基本上是简单或者中等难度,当然不排除特殊情况。所以前期基础准备需要坚持刷题1-2月以上,每天保持手感。刷题类型包含:

栈、堆、贪心算法、排序、位运算、树、DFS/BFS、并查集、图、拓扑排序、字典树、二叉搜索树、
递归、队列、map、数组、哈希表、链表、双指针、分治算法、动态规划、回溯算法、排序、字符串处理、数学推导等等。


刷题的时候记得归类:我的经验是把所有题目放一个工程里便于复习,时间充裕的话,最好自己总结归类。

如下:




过程:原题-->自己第一次做的做法-->网上优秀的题解-->可改进的地方、相类似的题型(如背包题及其变种题)-->进一步精简优化自己的代码(考虑复杂度)-->思考升华。

建议:

不要被吓到了,其实常考的题型就那些,把基础掌握即可。这里给一些个人的一些刷题建议:

1.      前300道题最好刷2遍,HOT100也值得刷(前面题目的答案多,各种语言都有,解析也比较清楚,里面很多大佬持续性给出了属于他们风格的解题思路,值得学习和借鉴)。刷题的过程中,最好先自己独立思考,没有思路再看解答。建议有选择性地看官答,一些大佬留下的思想和代码可能更有趣,更有学习意义。

2.      开始的时候进度很慢,过程很痛苦,但是慢慢坚持下来就后面就越来越容易了。边刷题边总结题目类型和模板。比如背包问题可以有很多变种,衍生很多不同场景的题目,但万变不离其宗。

3.      最好选择一个时间段集中刷题,提高效率。刷题的前多思考:用哪种数据结构?哪种算法?时间复杂度度多少?如何改进?等等。

4.      可以按频率刷题,也可以顺序刷题、按标签刷题或随机刷题等。对于绝大多数人来说,没必要全部刷,前300道已经是经典高频题了。刷题的过程中遇到好题可收藏,在提交代码前最好认真检查,看是否有错误或可改进。

5.      牛客需自己写输入输出,需要自己练习。

6.      关于《剑指offer》篇,Krahets大佬的解题通俗易懂,有时候也会给出眼前一亮的新思路。也有对应的公众号也会持续推广解题算法和思路。

7.      刷题要趁早,不要后知后觉。可以找一起刷题的小伙伴,搞个群组队刷题,相互监督,打卡。

8.  有的题目不太理解的时候不要死磕,如字符串匹配(马拉车算法),知道其思想也可。刷题先easy,再medium,最后hard。

9.  刷题的时候可以使用编程助手,但是最好自己养成良好的编代码习惯。比如命名规则,注意空格等等,从格式中也能看出一个人的编程素养。

未完待续,后面再补充~


全部评论

(3) 回帖
加载中...
话题 回帖