大学4年有多长时间
4 year \times 365 day/year \times 24 hour/day = 35040 hour
也许看起来很多,但是
- 生活
- 睡眠,4 year \times 365 day/year \times 8 hour/day = 11392 hour
- 饮食,4 year \times 365 day/year \times 1 hour/day = 1424 hour
- 社交,4 year \times 365 day/year \times 1 hour/day = 1424 hour
- 学业本身
- 上课,1.4 hour/ week \cdot point \times 14week \times 150 point = 2940 hour
- 作业,假设也是 2940 hour
- 就业准备
- 基础准备
- 面经 70 hour
- 算法 180 hour(3个月,每日2小时)
- 实习
- 面试 30 hour(10家公司,每家3小时)
- 现场实习 6 mounth \times 24 day / mounth \times 8 hour / day = 1152 hour
- 转正准备 50 hour
- 秋招 140 hour
- 基础准备
扣除这些必要的时间,还有大约 14000 hour,还要除去娱乐和放假。
有一个理论认为 master 一个技能需要一万小时。考虑到应届生,放宽一点要求,认为3000 \sim 5000小时可以熟练一个技能。
那么,大学期间,有大概 2\sim3 项技能可以成为核心竞争力。
如何决定前路
无非是先了解有哪些选择,然后了解优劣,最后根据自身情况判断。
对于就业来讲,目标职位的选择,比较可靠的信息来源有如下三条
- 招聘标准 or 职位描述(也称JD)
- 前辈经验
- 网上分享
JD分析
以 后端开发工程师-飞书办公套件 为例:
后端开发工程师-飞书办公套件
职位要求
1、2022届获得本科及以上学历,计算机相关专业;
2、热爱计算机科学和互联网技术,熟练掌握至少一门编程语言,包括但不仅限于:Java、C、C++、PHP、 Python、Go;
3、掌握扎实的计算机基础知识,深入理解数据结构、算法和操作系统知识;
4、有优秀的逻辑分析能力,能够对业务逻辑进行合理的抽象和拆分;
5、有强烈的求知欲,优秀的学习和沟通能力;
6、有ACM、建模等主要竞赛获奖经历者优先。
可以得出这三点结论:
- 必须具有这些基础能力
Linux使用 代码/文档管理 C/C++ 计算机组成原理 操作系统 计算机网络 etc. - 招聘者的实际期望
学习 沟通 提出解决方案 - 拔尖亮点
竞赛 开源项目 实习经历 个人项目 奖学金 实验室经历 论文
即:想要毕业时找到这样的工作,必须在毕业时掌握这些基础能力的同时,表现出达到实际期望的可能。最好具有1到2个亮点。
经验收集
可能收集的范围有:
- 学长
- 亲戚朋友
- 网上帖文
应当重点关注
- 这个职业的工作内容
- 这个职业的招聘要求
- 这个职业的成就感&薪水
考虑&决定
我比较推荐考虑这几个问题
- 对职业成就感的认同
- 对工作内容的兴趣
- 对达到招聘要求的自信
- 已经达成的条件或其他优势
如何利用时间
这里大力推荐甘特图
工具的话百度/google一下,有很多的。
geek一点的同学可以考虑 plantuml 或 vscode 的 md preview enhanced插件。
在碰到问题需要搜索or求助时
- 不要搜问题,要搜关键字
- JavaScript 能够运行得比C++快吗?×
- JavaScript C++ 运行速度 √
- 优先查找文档&FAQ
- C++ 延迟执行 ×
- delay site:en.cppreference.com √
- 当需要提问
- 搜索 提问的智慧
其次就是花大概50小时粗略学习一下bash脚本or powershell脚本,自动化永远不亏,真的。
附加信息
建议学习一下 这些重要但是大学没开的内容