我在西安交通大学读了计算机的本科,之后进入了一家不大不小的计算机公司,工作不错,而且薪资还行,但是不得不说加班有一点严重。于是我开始着手跳槽美帝,申请了康奈尔的计算机系研究生,读了两年计算机。之后跟着Google的王导师做了数据分析的项目,然后很幸运的进入了Google,现在也工作了两年了。
我觉得无论是已经工作了的程序员,还是还在学校的学生,都有不小的工作/学习压力。想想你在公司写码,改代码,和客户沟通交流累死累活的晚上七点回到家,一般情况下你都不想干什么了。或者你晚上九点写完学校作业,在宿舍里看着兄弟玩游戏,姐妹看剧,一般人都会选择摊在床上好好享受一下。
大部分人就停止在我想要努力,但是好累的状态。但如果你想要进入大厂工作的话就要吃得苦中苦,只有在别人都玩耍的时候你在学习才可以提升自己,进入到普通人达不到的领域。我的经验就是利用好碎片化的时间,然后加强算法,再加上好的老师带你做个厉害的项目,就拥有了比大部分人都优秀的条件了,这也就是大厂的敲门砖。
如果想要在大厂工作,首先我觉得就是学好英语。毕竟面试的时候交流,和同组的人交流,和客户交流都需要你的语言沟通。当然这个不是说考四级,考六级的那种,它是你可以从容的理解并回答别人问题的能力。我还记得我刚开始面对美国的程序员交流项目的时候,急得都要说中文了,还只能that和this的往外说,当时被同事和同组的一个妹子嘲笑了好久,说不定有一段美好的爱情就错过了。之后,我就开始利用休息的时间背单词,然后看美剧,努力适应他们的生活化的英语,然后我会看一些英文的论文,和计算机方面的书籍,这样可以更好的用英文编码,解释你的思路。
如果你觉得背单词,练英语非常枯燥的话,还可以自己写个程序,随机背单词,定时的考题,还有可以写一些小游戏,比如说hangman游戏一类,我当时就是自己写了一个python小游戏,从库里抽单词,然后我自己猜。休息的时间既可以玩一会又可以提升自己的能力。虽然,结果后来我们宿舍都开始玩我的小游戏,导致我背不了单词。但毕竟目的还是达到了的。
还有就是算法,虽然在工作和做项目的时候很少会考你算法题,比如没有人问你如何在histogram中找到最大的积水量,但是你设计项目的时候如何保证程序的简洁性,稳定性,实际上应用的就是你算法和datastructure的熟悉程度。尤其是工作的人,会离算法越来越远,你觉得你的能力不错,但实际上考题的时候可能不如一个大学生。我当时是每天刷一两道的Leetcode题目,发现刷题效果不太好,就报名了Justin导师的算法班。一边督促自己早起上课,另一边还有助教批改作业,我感觉到了我的知识开始系统化,而且对每个题目也有了概念。
最后我觉得一个“惊人”的项目是帮你拿到大厂面试的关键。比如我在老师的推荐下,跟着Google的王导师做了数据分析的项目,这个项目让我了解了Linux系统背后的更多运用,它的功能竟然这么强大。我又从完全不了解Redis的新手,学习到了redis可以用作Databasecachemessagebroker,broker-redis也可以做消息的订阅分发,消息分发等等。
我在一节课里就从如何进入Redis,进行数据操作,学到了Redis的Hash操作,存热点数据等等比较高级的操作。直到解除了数据,我才意识到一个稳定的系统背后有多少的心血,也感受到了导师的厉害。
到了后几节课,我感受到了Kafka的厉害,它有很多参数规则,在七绕八绕的参数下,它就能实现ConsumerGroup等不同场景下的需求配置。而且它非常的稳定,某个机器挂了,数据还在,服务还可以跑,简直就是网站福星。而且我学到了如何用Kafka来处理多线程如何封装出来一个ConsumerGroup,可以随时随地的挂在producer上。访问量大的时候,还可以多加几个ConsumerGroup,nodeBalance,autoBalance。这所有的技术都是我包括我在公司里没有接触过的,每一个都让我感叹现在技术的优秀。
每个人都有惰性,但每件事情没有捷径。如果你想要进入大厂,想要更优越的工资,想要更好的生活,更舒适的工作时间,就一定要付出你的时间。我算是用了适合自己的办法,激励督促自己,而且找到了好的导师,并且坚持了下去,才最终看到了大厂的Offer。我还记得自己把单词书的好几页折了好几个角,还记得我半夜十点兄弟们叫我打游戏的时候还在改代码,还记得我刚到美国读研的时候需要花上超一倍的时间理解题目,交流,还记得我刚开始项目的时候总是不断的麻烦导师,经常深夜里还在写码。好的办法可以帮助你,但是路还要一步步的走。如果你也想改变一下自己的生活,那么就从这里开始吧。
大牛求职课开始报名啦,想了解求职技巧/简历技巧都可以扫码报名~
预览时标签不可点收录于话题#个上一篇下一篇