【踩坑复盘】马上工作快满一年了,再回顾自己转码走了哪些弯路
1、过分纠结做什么项目(ps:麻雀虽小五脏俱全即可)
对于非科班的学生来说,既没有实验室导师带着指点江山,又没有课程指导老师带着做项目;所以,项目一直都是令人头大的问题。为了拿出一个令人“眼前一亮”的项目,我可真是翻遍了各大网站(B站、牛客网、慕课网、GitHub ......),最后总算找到了一个自我满意的项目:利用socket网络编程搭建一个群聊天服务器。由于项目中有大量网络相关的知识(粘包、大文件发送、IO多路复用等等),前前后后花费了1.5个月才完成了初版建设。但是当我把这个项目放在简历上时,才发现我给自己埋了一个很大坑。当面试官拿到这样一个项目可以聊得地方并不是很多,而且当面试官深入问一些知识时,你就招架不住了,导致效果很差。最后,导致它可能远不及烂大街的秒杀项目更能让你和面试官侃侃而谈。如今,作为一名Go开发工程师,其实日常工作中和网络打交道的机会不多,这些基建都是基础架构或者运维他们的工作内容,久而久之导致很多网络知识不熟悉了,面试官也同样如此。简历上项目的主要是为了让你和面试官有话可聊,把项目的背景是什么、遇到了哪些困难、为什么引入这些中间件、带来的效果如何等等,当我们能够很清晰地表达清楚,这才是最重要的。最近和同事聊天时,我问他们对于校招或者实习的项目的看法,我得到了很一致的观点:麻雀虽小五脏俱全,只要能够清晰、有逻辑的表达清楚这个项目就可以了。在此,我建议大家不用绞尽脑汁去找“新奇”的项目,把手头简历上的项目好好整理整理,捋顺捋清楚,把基础知识打扎实。
2、第一份简历投出去太晚(ps:尽早投出简历,开始面试)
记得当时投出第一份简历时已经八月下旬了,很多互联网公司的hc基本发出去差不多了。后续的面试也是很被动,没有太多的面试机会。我一直以自己还没准备好为由,始终不愿投出简历。今年见证了部门春招实习的全过程,基本上四月中旬就没有hc了,后续的面试offer的门槛就很高了。另外,最后一面基本都是部门leader,他们的日常工作也特别忙,越到后期leader面试的精力越被耗尽,换个我们个人也是,同样的事情要做好多遍肯定会烦的,所以越往后的同学机会越少。时机真得很重要,每个部门hc数量都是固定的,再申请新的hc都很困难,因此尽早准备,尽早面试,永远都不会完全准备好。
3、LeetCode使用姿势不对(ps:按专题刷LeetCode)
最开始准备刷题的时候,我连数据结构都没看,直接打开LeetCode官网,注册账号,然后打开第一题:两数之和,最终我没有写出来。那时候我连hash是什么都不知道,天真地以为刷题就是做数学题目。就这样,我硬生生的坚持了两周之后放弃了。效率实在太低了,几天前写得题目很可能今天又不会了。我痛定思痛反思自己的问题,到论坛上看别人的刷题总结&经验。原来LeetCode的正确打开方式是按照类别练习、总结。我买了本大话数据结构的书,每看一个章节就去LeetCode上写个10题练习,然后把每个题目的思路都总结下来;久而久之,我对于常见的算法题目都能AC,面试中也能cover面试官的算法题。目前LeetCode已经有了一千多道,我们不可能把所有的题目都刷完,时间和精力也不允许,刷题应该有章可循。
4、基础知识不扎实(ps:打好地基)
我当时也是把大家整理好的八股文一股脑copy一份,然后面向八股文学习。工作之后那种书到用时方恨少体会至深,以至于现在需要挤时间把计算机专业的基础课程好好学习学习。因此,如果你的时间还来得及,我建议你能坐得住板凳,耐住性子,好好学习专业知识,跟着老师把课后作业都做一遍。面试的时候,当你把一个点答得很深入的时候,个别点答得不太好也不那么重要了。以前偷的懒,迟早要还的。
题外话:
五一假期不能出去游玩,闲在家里整理了一下自己转码路上走得一些弯路,希望能对大家有所帮助。若有不合适的地方,欢迎评论区交流;也欢迎大家关注公众号:老薛有话说啊,在这里我会分享字节一年人间三年的体验以及打怪升级的过程,还有日常学习的沉淀。