写在前面
事实上约是去年此时决定的不考研,但现在回想确实天真。双非,本科,CS,无实习经历,无知者无畏。
如果真的知道自己几斤几两,又是否会做出当初的选择?
《空之境界 未来福音》在谈到未来的时候,讲到预言未来实际上是一种计算能力。大脑宛如 CPU 一般,对外界的信息拥有过量处理的能力。所谓的预测未来只是计算无限种可能性之一。
但预言未来还有第二种方式,即凑齐一切必要条件,将未来限制在几种仅有的可能之中。
但这并不是一篇心灵鸡汤,但确实可能是一篇中二文(二次修改加)。现实是付出不一定有回报,但不付出肯定没有收获。
个人情况
双非,本科,无实习经历,烂大街项目开局。
春招情况:
约投递 30 家,笔试若干,面试 3 家
- 2月 bytedance 一面挂
- 3月 Tencent 一面到时间自动释放
- 4月 Tencent 两次技术面 + 一次 GM 面 + 一次 HR 面
- 4月 lilithgames (哔~
准备情况:
cpp + 数据结构 + 操作系统(Linux) + 计算机网络 + web相关(协议,架构,存储,缓存,安全) + 编译原理
数据结构/算法: STL + 剑指 + leetcode(约 200 题,部分为保证理解到位反复刷了很多遍)
待准备:
nginx 相关, sql 相关, redis 相关等
基础知识
因为本科 + 烂大街项目,基本面试全怼基础,每次约 40-50min,难度由浅入深,基本能略答一二。
(但是问到两个类互相用指针引用怎么防止空悬指针,Linux 环境下最多能有多少线程是不是有点...超出知识范围...)
- 解答1: weak_ptr,应该是这个
- 解答2: 是 2^15 个,内存最大是 3G / 10M (大概)个
学习路径
学习路径基本是 书本 + 博客 + 笔记,笔记靠手写有感觉,排版乱(空白A4),没有电子版。
以下写几个我自己准备的方向。
- CPP: 内存管理,多线程,编译模型,面向对象,泛型编程,基础语法
- 数据结构:基本 STL + 刷题,主要 allocator,container 实现,其他也尽量提升水平
- 计算机网络: 准备很多,主要 OSI 七层,重点 TCP, HTTP, HTTPS,想聊的话理论知识的上限和下限dou'hen'ga
- 操作系统(Linux):四大调度,Linux 内核,文件,信号,网络I/O 等
- web相关: 面试比较少,只在字节考了,但是可以拓宽计算机网络
- 编译原理: 一点点基础,有助于理解 CPP 编译模型(或许)
还有一些比较小比较杂的知识,不成系统,难以回忆,作用有限,不再献丑。
面试涉及:
bytedance:
- web安全,内存管理,锁机制,https等等,基本没回答出来,无参考性,手撕是 leetcode hard 劝退。
Tencent:
- 第一次: 数据结构排序算法,树型全家桶,操作系统进程线程,计网 TCP + UDP
- 第二次(突击): 烂大街项目(5min),HTTP,OSPF(网络层协议),ARP(数据链路层协议),cpp内存管理,空悬指针/智能指针,Linux 指令 + OOM(主动提的,结果没回答好,害),LRU + hashmap/vector,redis,B 树,跳表,三大范式,docker,go(到后面基本不会,全跳了)
- 第三次: 项目,Linux,cpp,同步/异步/阻塞/非阻塞 + Linux I/O,https, web安全(自己拓展),STL等
- GM 面: 浅谈项目,聊人生
- HR 面: 介绍项目,聊人生
lilithgames:
- 哔~
心得体会
春招没有准备的部分
- 岗位选择:只盯后台开发岗位,没有考虑其他岗位。这一点因人而异,我是综合素质比较差的,理应寻找其他更易上岸的岗位
- 公司选择:信息收集不足。快手,美团,阿里等都没有投递。阿里是因为不自信(据说只有一次机会),美团和快手之类则是消息不灵通(火星人)(请多关注牛客网论坛以外的部分,比如牛客职播)
- 知识准备:nginx 和 sql 知之甚浅;redis 面向面经;高并发,分布式直接 GG(因为是本科+无相关项目,事实上没有被问到
- 面试过程:思考时间短,思路发散,不成系统,不成规矩
不做面经型选手
打个比方,基础知识浩如烟海,面经只是冰山一角,无异于管中窥豹,可见一斑。
唯有大量面经,才能由量变引起质变(大误)。面向面经,则可能上限止步于面经。
知识需系统化,结构化。构建知识树,在相关领域上不断拓展,学习相对系统,完整的知识。渐渐发现很多知识是互通的。
在第三次面试的时候,我问了对方这个问题:您认为知识的广度和深度哪个更重要?
答:因人而异,但是在我个人的话,更倾向于深度,所以一开始才会让你谈感兴趣的方向。
当有充足的时间的时候,尽可能学习系统的知识。如果临面试前,把这个公司的面经都刷一遍补漏也是不错的选择。
刷面经的时候,甚至可以试着还原面试过程,问题问的比较深,则面试者必然对此领域熟悉,或者相关岗位对此有要求。事实上通过面经可以相对还原面试场景。(所以面经里没问到的不一定不会问你,因为可能 TA 对该问题准备不足,而你有针对性准备,而面试官喜欢拓展)
心态与心态爆炸
保持沉着与冷静,不要让浮躁连续超过 48 小时。
心态爆炸是不是个别现象,但是务必做好情绪管理。
敢于竞争,但也不忘给自己留后路。人生有无限可能性。
面试前与面试时
紧张是不可避免的,尤其是面试经验不足的时候。
面试一种沟通的能力。
如何系统的,有条理的讲出自己的思路,除了练习并无多大的作用。此外便是语速放慢,多给自己思考的时间,这一块我也不擅长。。
碎碎念
事实本体是个 loser,春招也是走运,属于被幸运女神眷顾的那种。
大学只做了三件事,上网冲浪,打电动,学计算机(基础)。
平时抽卡全保底,犹记得大二上氪进去一个月生活费没出货的窘境。从没见过双黄蛋。
一路走来,思维和心境已经与高中、与大学刚开始的时候不同。
逐渐有了改变自己的想法,也想要获得改变自己的能力。
所做出的选择没有对与错,只要无愧努力和未曾后悔。
写到这里回去读了一遍,发现已经看不懂了。大概就这样吧。属于想到哪就写到哪。
全部评论
(1) 回帖