分享

给大家点信心吧,关于我二本没毕业就拿到字节Offer的故事

pig2 2023-8-21 10:12:06 发表于 经验分享 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 0 1338
我是一个在字节工作了三年的程序员。最近很多公司都在裁员啊,很多人都很悲观,有感而发。

简单介绍下我自己:我是的学历是某二线城市的二本大学,计算机专业,没有考研,没有实习,我在大三暑假就拿到了字节的正式Offer,还有另外几家也差不多是同期拿到的Offer。虽然比不上什么大佬SP,SSP那么厉害,但我希望我的经历能给到你们一些鼓励。

大学前
我从小就对计算机感兴趣,最开始是因为喜欢玩游戏,顺带就对电脑感兴趣了,我第一次编程是在初中的flash编程兴趣课上,但因为种种原因没有继续学下去。到了高考报志愿的时候就决定,不管去哪里都要学计算机。但我在读书上着实不是天赋异禀那一挂,所以985、211、一本的门都没踏进去,跟我无缘,包括后面大学一些课程也考的稀巴烂,好几门都要靠老师抬手放过,千万别学我。

在确定被计算机专业录取后,我就提前开始做一些准备,我去搜计算机专业初学者应该看什么书入门,推的比较多的是:《C语言程序设计》和《C Primer Plus》,那时候我光看名字以为《C Primer Plus》是英文版本的,想到我的英文也是惨不忍睹所以就只看了《C语言程序设计》(这本书的确很不错,新手建议可入),在看这本书的时候,书里面建议我要动手写代码,不能光看。道理我都懂,但是有个很严重的问题:我没有电脑。不过,我很快就找到了解决方案,可以用手机来写代码,我在应用商店里面搜索C语言,发现有很多的应用都可以实现在手机上编写代码并运行,然后我就一直这样直到新生开学(应用商店里直接搜C语言就有了),开学后我发现我几乎已经提前学了半个学期的内容。

因为有了这个基础,所以后面在学其他编程课程都得心应手。听到这里是不是觉得我还比较有觉悟,其实中间也发生过一个小插曲,让我阴差阳错就开始提前自学了。在被大学录取前,我琢磨着做点什么度过无聊的暑假,于是我找了一家西餐厅准备打暑假工,但是因为我笨手笨脚的,才干了半天就被开除了,如果没有被开除,我可能就不会有时间提前学敲代码了。

大一 / 算法竞赛生涯
大一的时候我参加了ACM竞赛,最好的成绩是拿了省级银奖,但是参加的过程也比较扭曲,一开始有位学长在我们班级宣传ACM比赛,当时我没有很放在心上,因为此时我还没有意识到学历背景的不足是需要以其他方式来弥补的,也没有深入考虑过大厂并不会来我们学校校招的现实,思想还是停留在”我想写代码”上,但没想过怎样做更好,而我的信息来源相当有限(信息差很大,资源真的很重要,我甚至不知道当时校内有社团是在组织做这些事的),所以一开始只是偶尔在校内网站做一些算法题。

学院要举办新生的算法竞赛,我才报名,这时距离比赛只有1个月的时间,为了比赛就要开始自学算法,这里最主要是靠刷题库的方式学习,题库是学长整理的新手题库,涵盖了不同的方向,有不懂的就需要自己上网查,在还算比较短的时间内把大部分入门的算法啃了下来,能比较快的原因是基于开学之前看的书给了很大的帮助。后来我在这场比赛中拿到第二的成绩,比赛结束后一位学长邀请我进入ACM团队,在这里感谢学长的主动邀请,不然以我当时的闭塞程度我又回去躺着不了了之了。

但对于要不要加入我当时回去考虑了一晚上,因为我不确定自己能不能坚持,而且我以后想做开发不想做算法,担心毕业找工作有影响(好天真),再次感谢学长的远见把我劝服了,所以三拐四拐的进了ACM团队,后面就是各种刷题,偶尔在半夜打codeforce,常常有智商的冲击感,再后来参加了省里的ACM竞赛,得到了银奖。

大二 / 项目开发生涯
大一算是有一些小小的收获,但我也感受到了信息闭塞和被动会让我错失一些变得更好的机会,所以我大二的时候开始主动去寻求机会,也会跟更多人的人聊一聊。由于我更想做项目开发,所以大二的时候我退出了ACM团队,因为ACM需要费比较大的精力。与此同时我参加了技术部的干部选拔,当了一个小小的部长,但是技术部还是一个比较空的title,工作内容还是更倾向于各类学生活动的支持(比如搬桌子这样的琐事)。

真正的转折点是当时技术部有机会去上海参加某个“黑客马拉松”挑战,要求在72小时内开发出一款应用,对于0开发经验脑子空空的我来说简直是一场冲击,那里我看到了很多优秀的人,让我有点自卑也有点兴奋,我很清晰的记得当时的心情,那时我下定决心要和他们看齐。回学校后开始钻研如何开发网站,过程去请教了两位学长,他们分别基于我的情况给出了类似的针对性的建议,帮助我理清思路或者说学习的方法。后来我跟着其中一位学长学写网站,也在那段时间我入门了前端和后端相关的基础技术。

当我能够独立开发应用的时候,就想着做点什么练练手(手里有锤子,看什么都像钉子)。于是我观察了我身边的情况,因为我所在的部门有一项工作是接受全校各个组织部门的申请表,类型多且杂,收集的人不固定,经常发生丢失的情况,导致汇总起来也很困难,所以我回去梳理了所有的申请表,各类场景和工作流程,写了个网站解决了这些问题。以现在来看是很简单的,但当时我做一个这样的网站需要一个多月的时间(菜且意义重大)。

就是这样的一个网站向部门分管老师展现了我具备的能力,后面老师给了我一个更好的机会,任务是开发学校的行为规范系统,这个系统需要实时更新学生的各种行为记录,老师和学生可以随时查看。到每学期末,系统可以自动为各个辅导员梳理报表,确定每个学生的绩点变化。这个任务后面也是磕磕绊绊的完成,有别于之前独立做的那个简单的小项目,这个任务复杂度高一些,于是我拉了2个小伙伴加入,本身我主要做后端,但碰到最要命的问题是前端的技术不足以支持需求,也跟不上后端。然后我带着半成品前端去请教当时已经在实习的一位学长,他告诉我:这个代码几乎不可维护且架构过时,他给我的建议是推倒重写,那时我跟校方的约定时间是在一个暑假内完成,所以根本赶不上了。

到后来实际完成比预期多了4个月的时间,前端的问题是依靠学长的帮忙才解决的,他写了一个框架后,我们往里面填充内容就可以了,因此我也开始自学VUE,整个过程可以说是一边摔一边跑,但看到这个系统成功上线每天几十数百人的使用的时候,我很有成就感。收获也很多,团队的协调、解决问题的思路、新的技术等等,这些经历也是我后面面试比较重要的加分项。

大三 / 最后的冲刺
项目开发完后我也进入大三了,我又开始迷茫,不知道下一步是做什么,身边也没有太多的机会,再往下学就是一些屠龙技,平时用不上。这时候有人建议我开始找实习(很重要一定要把握这个时机),还给了我很多就业的信息,包括怎么找公司,怎么针对性准备面试,其实我们学校对于实习不是很看重我也意识淡薄,所以很感谢他提前为我灌输这些信息,带着这些信息我开始准备找实习的岗位,我上牛客网看内推的帖子,当时我压根不敢投递大厂,投递的都是中小厂,在面试的时候也是被反复捶打,最后得到了一家外企的实习机会,主要做安全方向。

在实习的时候我感受到学生和职场人士之间的差异,包括思维方式、处理事情的方法,以及更为规范、流程化的团队合作方式。我能做的就是继续保持积极主动,而且很幸运的是在实习公司带我的导师也是很负责的人,经过他的指导,我完成了导师认为难度很大的工作,在同期实习生中得到了最高一档的评价,也拿到了当年最高一档的offer。

但来实习前我还知道了一个信息,就是当时很多大公司开始提前批,7月就开始了,这其中也包括字节跳动,我之前找实习的时候丝毫不敢想大厂,但是这个时候我决定试试,试试也不亏,所以我的计划是一边进行实习一边准备字节的面试,当时实习日期出了乌龙,所以我有了空余的时间而且我也需要生活费(有但不多),就去了一家五星级酒店打临时工,利用休息的时间在员工食堂看算法相关的书,因为字节很看重算法题。这里主要是看《算法竞赛:入门经典》,其实不是很入门不太推荐没有基础的新手看,新手更建议刷题库学习。

我在牛客网上通过内推投递了字节,简历通过后面试持续了半个月的时间,包括3场技术面和1场HR面,还是很紧张的,技术面试一半的时间问问题,另一半就是做算法题,前两面还算顺利到第三面的时候有个问题卡壳,当时的面试官很好心的提醒了我一下才解出来的。最后,在实习结束之前,我就拿到了字节的Offer。

总结
至此,就是我整个大学的经历了,总结一下就是:在大学的每个阶段给自己明确的目标,学会通过各种渠道获得信息,我其实很内向,真的很感谢过往他们带给我的帮助;还有学校的知识是不够的,要学会利用其他的渠道进行学习,比如在leetcode上刷题,多看一些评分高的技术书,多看前人的经验。

最后,祝你们成功也祝你们顺利。

8.13补更:很多人在评论区说时代不一样了,确实是这样的,我也不否认有时代的因素在里面,但是这篇文章不是为了炫耀自己有多厉害,是为了给大家一些鼓励。我主要想说的是,不管外部的环境如何,我们首先应该让自己成为更有价值的人,这样当机会来临的时候我们才能更好的抓住。时代我们是无法改变的,但是我们可以改变自己,共勉。

最新经典文章,欢迎关注公众号

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条