一、个人背景
大家好,非常高兴这次分享的机会,希望能给大家一些帮助。
我个人学历是双非本,末流985硕,非科班的工科专业。
本科期间搞得都是电路设计相关的比赛,然后有个保研和一些奖学金经历。但是在今年这个行情下,这些东西都不怎么有价值。
相反的,我非科班、无实习、无论文的三无状态,属实是让我简历挂麻了。
二、心路历程
我一开始就是以提前批为目标的,只是没想到今年的提前批这么惨淡,大厂就没开几个。
我投了50家左右吧,简历挂麻了,属实是挂麻了,包括现在这个oc的岗位也是简历挂了之后被捞起来的。
1、至暗时刻
我大概是从三月份开始,就没怎么睡过好觉,每天基本上是早上八点到晚上十一点的学习时间,精神压力还是蛮大的。
今年六月底开始投简历,七月初有了第一次面试,但是当时确实是第一次面试。
不出意料,搞砸了,各方面都准备的很差,语言表达也很有问题,自我介绍的时候都是磕磕碰碰的,当时面完就挂了。
然后我就痛定思痛,好好总结,准备要一雪前耻。
然而当时的我不知道,下一次面试,居然要等到七月底。
整个七月,就是我不断挂简历,不断笔试,不断投简历的循环,三个星期都没有什么面试的消息,中间一度感觉非常绝望。
特别是当我看到我字节简历挂了的那天,非常难过,跟好朋友出去喝了几瓶啤酒,感叹今年真tm难啊!我这简历也不是很差啊,甚至都得不到一次面试的机会。
那真的是我最低谷的一段时间了。
2、峰回路转
之后突然有一天事情迎来了转机,有hr给我打电话说要捞我,我然后我就面了现在的这个部门。
很幸运,碰到的几个面试官人都非常好,字节的效率也非常高,很快就开始了面试。
同时其他投出去的公司也渐渐开始有了回音,一切都慢慢走上了正轨。
3、第一封意向书
时间很快,终于在八月上旬,经历了三轮技术面试后,我终于拿到了自己的第一封意向书,来自字节跳动。
当时的感觉就是心里的一块石头落地了,在这个地狱级的2023秋招,我总算是找到了一份工作,而且还是字节跳动,感觉自己的努力总算没有白费,舒服了,感觉一些都值得了。
4、再接再厉
拿到字节offer后,真的是高兴了好几天。
然后还是要鞭策自己,还不能放松,还没结束,校招还远远没有结束,我还是要好好准备之后的面试,加油加油。
三、备战校招
我是在去年6月份左右开始准备找工作的,因为本科时候搞嵌入式写C比较多,加上教研室用cpp比较多,所以目标是找偏基础架构方向的cpp的后端开发。
在这里给大家分享一些我个人学习时用到的资料吧,秀哥的网站就不说了,神级宝库,看就完事了,看到这篇的估计大家也都关注了。
1、C++
首先是c++相关,对于语言来说,一开始是经典黑马c++学起,之后跟师兄们请教,了解到了cpp大神侯捷老师,然后就看了侯老师的视频跟侯老师翻译的一些书。
这一部分最大的感触就是一定不要浮于表面,不能只会调用个stl库就行了,还是要去了解一下原理,侯老师的视频讲解的都很透彻,强烈推荐观看。
之后就是多写多用,不断提高。
这里推荐一个b站up叫神经元猫,他的视频都是转载、翻译了一个国外的小哥的油管,讲cpp讲的蛮好的,可以当成工具书去查看。
2、操作系统
操作系统的话,一开始是直接啃csapp了,当时看的很浅,只是了解了一些皮毛,但是也帮助我构建了一个对计算机世界的整体认识,真的是一本非常好的书,我最近也在重新读这本书,会有不一样的体验。
后来在b站看到了南京大学的jyy老师的os课程(up主:绿导师原谅你了),真的是讲的非常非常非常好了,强烈推荐有时间的同学们去看一下。
学操作系统不能没有jyy,就像西方不能没有耶路撒冷。
3、计算机网络
计算机网络一直是我的软肋,这部分我就只是看了看湖科大,小林coding跟一些博客,了解的比较浅,就不误导大家了,哈哈哈。
4、算法
算法的话,就是了解数据结构后就直接去刷力扣,我也信奉秀哥说的实战始终就是最好的演练,多刷就完事了,再多技巧,题量达不到都是白扯。
真的不要扯什么虚的,题量达不到的话,再多的模板/技巧都没用,我现在有500+的刷题量左右。
我是从去年8月份开始刷,中间有些间断,高强度刷题是从今年3月份开始的,推荐大家还是先按模块刷题,形成解题的一个思维吧,之后在随机刷,全面提高自己的能力。
5、数据库
数据库我也没看太多,因为目标是搞基础架构方向的,所以更多的还是看一些原理性的东西。
不怕你笑话,我到现在也还不太会写SQL,云玩家了属于是。
6、设计模式
设计模式浅浅的了解了一下,看的是博览网李建忠老师的课,有的设计真的是让人拍大腿,巧妙。
李建忠老师和侯捷老师的课程都很不错的说,我看秀哥的星球里置顶帖的资源里也有他们的视频资源,都比较全,直接去下就好了。
7、宝藏好物
下面这几个东西是我十分推荐的,尤其是想做基础架构方向的同学,应该还是有些用处的。
首先是一定要尽早准备!,这门分布式系统的课程真的很棒,看的同时去做一下他的配套lab,go语言手撕一个raft协议,还是挺有意思的。
然后是CMU的15-445这门课,是讲数据库原理的,lab也很有挑战性。
最后是推荐一个宝藏up主:硬核课堂 ,他们有很多非常硬核的内容,包括一些系统设计,论文导读之类的视频,都是非常猛的知识,推荐有余力的小伙伴去看一下。
秀哥以前开源过一个国内外优秀CS课程的github仓库:Awsome-Courses,其中就提到了MIT 6.824,除此之外还有一些不错的MIT、CMU等世界CS名校,其中包含计算机基础学科(操作系统、计算机网络、编译器、数据库、数据结构与算法等)以及人工智能&AI等高级科目,都挺实用的。
国内外计算机的优秀课程
地址:https://github.com/forthespada/Awsome-Courses
以上就是我学习中用到的一些资源了。
现在的感觉是,即使我学了这些东西后,还是开始太晚了,真的是太晚了。
是的,我没有瞎说或者凡尔赛,我真的感觉时间很紧,到现在自己还是有很多知识漏洞的,还是没有形成自己的知识体系。
如果再来一次,我一定更早点开始准备。
即使我提前一年就准备的校招,我是去年六月份开始准备的,到到现在上岸大概花了一年零2个月的时候,即使经历过14个月的系统学习,我依然觉得自己开始的太晚了,需要做的事情依然很多,自己的基本功依然不扎实。
我看秀哥的秋招总结也是的,他是校招前一年,也就是八月份的时候系统准备了,到上岸的时候整整过去了一整年,他系统学习和准备12个月,我则花了14个月。
所以奉劝那些跟我一样的非科班同学,一定要尽早准备!一定要尽早准备!一定要尽早准备!
四、字节面经
字节我一共面了3场,一场比一场时间久,第一场65min,第二场80min,第三场更夸张足足面了120min。。。
下面是我的具体面经:
一面 65min
-
一开始就是介绍一下项目,阐述一下做这个项目的原因跟设计思路,然后是开始问问题。
-
项目中内存池的作用,有什么好处,讲一讲是怎么设计这个内存池的。
-
在写raft协议的时候,有没有遇到什么困难,怎么解决的。
-
TCP UDP区别,分别适合什么场景。
-
TCP拥塞控制。
-
SELECT EPOLL。
-
线程的共享资源和私有资源。
-
C++内存模型。
-
C++多态。
-
Linux软连接和硬链接。
-
然后手撕了一个跟二分相关的题目。
总之一面还是问八股比较多,也符合我的认知,主要就是考察基础知识。
二面 80min
-
先问了一下项目现在的开发进度。
-
问了一下如果要优化你的项目,怎么去找优化的地方(怎么找到性能瓶颈)。
-
内存池的设计,有没有去测试性能会提升多少。
-
各个模块的性能测试有做吗,时间大概都是什么量级的。
-
C++静态函数能不能访问非静态成员变量,如果是给他传一个对象呢。
-
栈申请对象快还是堆快,为啥。
-
malloc的对象直接delete,程序会崩溃吗。
-
new 数组 不用 delete[] 什么东西会泄露。
-
rand5 实现 rand7
-
手撕力扣844,写完问了一下复杂度。
二面问了很多项目细节的问题,特别是性能跟测试相关的东西。
三面 120min
-
怎么去决定项目中的存储结构的,有什么考量。
-
实现了内存池,怎么去测试性能。
-
面试官说如果是线上的一个系统,怎么直接用线上数据来进行测试。
-
设计一个系统要考虑的指标有什么。
-
如果用户说,访问服务的时候偶尔会延迟,怎么去找问题。
-
看日志里的什么指标,怎么定你要看的指标。
-
CPU的占用率,百分比的分子分母分别是什么。
-
内存池跑在32位系统和64位系统上可能会有什么问题。
-
内存池会不会无限扩展。
-
回收内存的时候,如何确定回收的块的大小。
-
用Gtest有没有觉得他什么问题。
-
你设计数据库的话,如何保证事务的原子性。
-
问我有了这undo和redo日志有没有可能还是会有问题,然后问我这俩日志的写入顺序。
-
最后手撕了一个类似括号嵌套匹配的问题。
三面面试官是leader,问的都是些场景题,完全没有八股文。
很多情况下,都是他抛出一个问题,然后我们两个人一起讨论,阐述看法,一起去解决这个问题,然后不断的去扩展,面试官人很nice,面试体验非常好。
我感觉这个时候需要贴个图hhh
五、小小建议
自己说不上什么建议,自己一路走来感觉起起伏伏吧,有起有伏,主要是想给后来人下面这几条建议,都是我的心里话:
首先是一定要对自己有个明确的规划,确定好自己要找什么方向的工作,然后就要为了这个目标而去努力,一定不要改来改去,那样大概率啥都学不好。
还有不要太迷恋各种教育机构,其实很多机构讲的课都是还蛮浅的,还是要去多看书,多找资料,多自己总结。(没有说教育机构不好的意思啊,求生欲满满)
然后就是学习要趁早,时间真的很紧,不要觉得一年时间很多,其实你真正准备起来的话时间过得很快的,你想要学的比较深入的话,一定要早点开始。
还有就是要自律,该奋斗时就别摆烂,我是一个很喜欢打游戏的人,但是为了保持一个良好的找工作状态,我已经半年没有打开我的steam了,真的是多么痛的领悟啊。
最后很想对大家说的一句话,要对知识有敬畏之心,知识是学不完的,永远不要满足于现在的知识面,不断学习,才能进步。
祝大家都能拿到满意的offer,加油加油!!!!!
最后免费分享给大家一份Python全套学习资料,包含视频、源码,课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、Python练习题
检查学习结果。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
这份完整版的Python全套学习资料已经打包好,需要的小伙伴可以戳下方链接免费领取