牛客访谈|双非本三个月逆袭字节,他是如何做到的?
与往年相同,牛客访谈如约而至!本场是针对社招人群所做的访谈希望能对已经工作or刚刚工作的小伙伴们有所启发~
hello大家好呀~牛客访谈与大家如约见面啦!
工作三年,双非本科,普通背景
他如何能在三个月逆袭拿到大厂offer?
准备项目,刷题复习,面试练手
短短三个月,他有怎样的心得和技巧?
本期牛客访谈,我们请到了《双非渣本后端三个月逆袭字节》的作者@范特西Fantasy
来和大家一同分享他的心得感受~
嘉宾介绍:
- 昵称:范特西Fantasy
- 所获offer:字节跳动
- 岗位:后端
自我介绍:
我是⼀名来自成都的程序猿,大学在成都,工作也在成都。毕业之后有两年半的时间在⼀家创业公司打杂,前端,后端,运维都有涉猎,主攻JAVA。第一家公司之后加入了一家在线教育公司,一年时间,见证了公司从我加入时的三百人,增长到了2000+人。这其中接近4年的时间,我基本都在从事后端相关的开发。
Q1 大佬能这么早起来刷题,毅力很让人很佩服。看来晚上是不怎么加班🤣?想问下大佬是如何坚持早起准备的呢?这方面有什么意见给准备磕大厂的牛友们吗
首先,早上起来刷题就是因为晚上可能会加班,这样就没时间刷题了。如果晚上下 班早的话,晚上也能刷题学习。 我自己早上能起来的原因是:
- 因为心里有信念,想去大厂。
- 一开始把学习当做任务,严格要求自己,戒掉不必要的娱乐,不瞒大家,我以 前晚上有很多时间,都在王者峡⾕学习。但是那段时间,我直接卸载了。从一 开始做任务式的要求自己,到后来觉得刷题也是一种乐趣,自己不看答案可以 解出来时感觉到很快乐,并且能在评论里和大家分享讨论每一种解法。所以我 建议自制能力不强的同学前期严格要求自己,到后面逐渐上手之后,就把它当 做一种兴趣爱好,有了兴趣爱好才能更好的学习。
- 其实我不鼓励早上早起,可以挤其他的时间,务必保证自己充⾜的睡眠,这样 头脑才清晰,其实工作之后,每天花两个小时左右去学习,你就已经可以超越 很多人了,而这两个小时,我觉得大多数同学都是可以挤出来的,除非你一天十二个小时都在工作。
Q2 大佬觉得工作三年和工作一年的时候,面试的难度有什么不同吗?
难度当然是有区别的,但是差距不会很大,但是这个阶段最重要的还是基础知识, 务必重视基础知识,而不是那些高大上的框架、中间件。我见过很多毕业一年的同学,技术水平相当不错,甚至吊打工作三五年的人。我觉得三年也是程序员的第一个槛,这个阶段是我们刚毕业迈⼊社会,把书本上的内容运用到真正的企业开发中。我们协作、使用项目管理工具、使用Git,SVN控制版本,多端共同联调,测试,最后上线,积累了一定的开发经验,也对代码有了一定深入的认识,是一个比较纯粹的Coder的阶段。但是有些同学在三年中除了完成工作,在空余时间基本不研究其他东西,只清楚自己所负责的模块,不清楚上下游。而有的同学除了完成自己的工作,还热衷于研究其他的技术细节,看书学习写博客,去和大家分享,以后 必然顶替掉不怎么学习的那部分人,这就是为什么有些一年经验的同学很厉害,而 有的同学是一年经验干三年。
Q3 大佬在面试字节之前有没有拿别家公司练过手呢?在面大厂没有拿得出手点的项目,没有啥完整的项目经验怎么办?大佬有遇到这样的情况嘛?
有过,投过一些公司,有的简历直接就给挂了。成功面试的也有一些,我发现除了大厂,其他公司面试都比较偏向实战,以及你是否和公司技术栈匹配,不是太重视基础,像数据结构,网络,OS这些东西。但是项目是社招必问的。
并发编程网的创始人方腾飞老师讲的一段话非常好:介绍产品时面试官会考察应聘者的沟通能力和思考能力,我们大部分情况都是做产品的一个功能或一个模块,但是即使是这样,自己有没有把整个系统架构或产品搞清楚,并能介绍清楚,为什么做这个系统?这个系统的价值是什么?这个系统有哪些功能?优缺点有哪些?如果让你重新设计这个系统你会如何设计?如果这些问题你都能有自己的见解,那么你不会太差。
对于社招来说项目经验很重要,主要是看你项目难点,还有你对项目的理解,所以简历上自己写过的项目细节一定要很熟悉,并且能够知道存在的问题,业务上可能往哪方面演化,从而技术的方案怎么更好地去实现,如果项目本身没什么技术上的亮点,那么可以从项目为公司带来什么价值,这方面去回答,每个项目能被开发出来,上线给用户使用,一定是因为它能带来价值。如果自己的项目实在没亮点,也可以去其他学习其他同事的项目,或者开源项目,一个小技巧是,即使这个模块不是你做的,但是你把这个项目弄懂、搞透了,在面试的时候你一样可以把这个项目当作是你自己做的来说,毕竟,谁来管这个问题当时到底是不是你解决的呢。总之,也不是鼓励造假,而是要自己发掘自己项目的亮点,做好充分准备,不能对于自己项目没话说。
Q4 大佬双非本/无大厂背景的情况下拿到了字节offer,你觉得你能逆袭成功的因素是有哪些?
- 不忘初心:始终没有忘记自己刚毕业时就想进大厂的目标。
- 坚持:坚持学习,慢慢沉淀。
Q5 平时会怎么准备面试呢?会重新看数据结构,计组,计网,操作系统吗?算法题直接刷leetcode、还是需要看算法书?
会重新看,基础课程太重要了,只要基础扎实,其他复杂的系统设计,源码,都是手到擒来,很多分布式系统,中间件,里面的设计思想都和操作系统里面的思想很相似,计算机组成原理可以让我们更清楚地认识计算机的组成结构,网络让系统之间可以通过不同的协议进行通信,而数据结构又巧妙地让各个系统能够高效地运行。所以说这几块知识都是非常重要的,学好了更能够理解计算机,理解前辈们这样设计计算机的思想,就可以更好地运用在项目里。所以学习时我都是会涉及到多个知识点去思考,理解各个不同模块之间的关系。针对算法,可以学习完基本的数据结构之后,再去学习算法,算法就是用数据结构去解决问题的方法,直接刷LeetCode就可以额,牛客网也可以,但我更推荐LeetCode,对新手更友好,上面大佬也更多,我在刷LeetCode时也认识了很多大佬,他们都是我的老师,至于书籍,如果有时间可以看,像《算法第四版》、《算法导论》这些经典数据,但我建议平时慢慢看,如果准备面试的时候看恐怕来不及了。
Q6 2-3年经验的后端岗,场景题该如何准备?大佬有什么心得感受嘛
熟悉自己项目的情况下,准备一些常见的互联网场景,比如电商,即时通讯,feed流,在面试时都问得比较多。这个其实我也没怎么准备,都是临时想的,我后面总结发现这些场景可能细节没做过确实不知道,但是回答的话还是可以说一些自己知道的,就看面试官想从哪方面考察你,或者你引导面试官到自己会的领域,无外乎就是高可用,高并发或者是数据存储这些东西,这些都是有现成解法的,网上很多。
Q7 大佬工作也有些年头了,你是如何保持平常学习的习惯呢?对于工作以后如何学习,你有什么想分享的点吗?
必须时刻学习,不管是否跟工作有关,学习都可以提升自己。工作中其实单独学习的时间没那么多,大多数时候都跟工作有关,我的方法是,做事情时多问自己几个为什么,遇到一个需求,对于里面的细节,不清楚的地方都需要梳理出来,并且把它搞清楚,再通过自己的调研,设计出多个不同地方案,并且知道每个方案地优缺点,在什么场景下合适。这这些过程中,就会遇到自己不清楚的知识盲区,这个时候就可以去Google学习了,因为这个东西你不会,这时候学到就是赚到。
Q8 大佬觉得工作年限重要嘛,求职时影响会体现在哪些方面?工作一年的新人该如何积累自己的项目经验呢?
重要,年限和背景都重要,年限短背景好的同学可能比较好换坑,而年限少背景不好的同学就很难了。像成都,互联网环境不是很好,大多数公司就比较看中年限和背景,如果都不好的话可能面试机会都没有,就拿我来说,我现在投简历有些公司都筛选不过。
工作一年的新人其实累积不了多少项目经验的,特别是在大公司,基本都是拧螺丝钉,我建议平时开发时多了解其他有交互的项目或者模块的运⾏流程,对整个系统有更多的认识,不要只停留在自己负责的部分。平时可以多学习一些开源项目,比如zk,redis这些项目,源码里面很多思想都可以在开发时借鉴,当项目经验不⾜,这些都是可以额外加分的,毕竟这么复杂的中间件你都会,写个CRUD难不倒你吧,还有很重要的一点就是总结,我在一年经验的时候天天坚持总结遇到的问题,把它整理成项目放在github上,并且写成博客,没多久时间就上百个star了,在面试时也能够进⾏加分,至少面试官觉得你是喜欢学习,爱技术的,可以培养你。
Q9 最后,给⽜油送上⼀些祝福吧!
牛客网帮了我很多,从大学一直到现在,很感谢这个平台。我也跟高兴和大家一起分享面试技巧或者学习,学历和背景都很重要,学历不好时背景很重要,以后竞争会越来越激烈,希望大家都能够拿到满意的offer,也可以随时和我交流。
------------------ 感谢你看到这里~!
不知道在看完采访后你是否会有些收获呢?
欢迎在留言区分享你的看法/提出你的问题~!
感觉有用的话,记得点赞收藏再走嘻嘻😆
#跳槽#关注@牛客社招助手 ,跟大家聊聊工作后的那些事儿鸭~!加入社畜职场交流圈,看看那些职场故事,认识更多职场人!立即加入