前言
在经历了三个月的 GAP 期后,我不得不直面自己一直在逃避的课题——求职。直到两周前 (7.25),我才鼓起勇气直面它,开始投递简历改简历。果不其然一败涂地,像散弹枪一样散射的技术栈,4 年间 Node.js 后端以及 Shell/Awk
开发的时间各占 50%。现在要找 Node.js 后端开发工作,自然会在求职上遇到障碍
正如解决怪异前要先给怪异取一个名字。解决问题前要先将问题定义清楚。如今 (8.11) 在我 6 次技术面试均失败后。该课题中我需要解决的问题慢慢浮出水面了。
于是我开了这篇文章,用来 记录我求职期间遇到的问题,以及 我是如何一一解构问题然后处理的。
每天干了什么?
从 2024-7-25 开始
天数 | 干了什么? | 投递数 | 刷题数 |
---|---|---|---|
D1 | 开始记录 | 0 | 0 |
D2 | 简历 v0.1 (不敢给朋友看的版本,不过已经更新了) | 0 | 0 |
D3-8 | 与朋友在玩《Astroneer》 | 0 | 0 |
D9 | 开始投简历 | 10 | 0 |
D10-11 | 在开始刷复习资料以及刷题,小打小闹 | 0 | 2 |
W2D1 | JavaScript 基础(1/4) | > 30 | 0 |
W2D2 | 1. 黄了两个技术面试 2. 简历 v0.2 |
> 30 | 0 |
W2D3 | 1. 全天在发简历,看 BOSS 直聘停不下来 2. 简历 v1.0,短期内不用改了 |
> 50 | 0 |
W2D4 | 黄了两个技术面试,认识到复习的重要性,开始焦虑 debuff | > 30 | 0 |
W2D5 | 1. 跟朋友聊天,解除焦虑 debuff 2. 这就是现实生活的压力,我之前都在过家家 |
0 | 10 |
W2D6 | 1. 重新使用番茄工作法 2. 将 Promise 简易版逻辑全文背诵 3. 看电影《抓娃娃》放松 |
0 | 6 |
W2D7 | 1. 周赛只答对一道题 2. 邻接表的数据结构以及应用 3. 整理当前这篇文章以及接下来的复习重点 |
0 | 2 |
代办事项
我认为的求职要做的准备。暂定,后续会调整顺序或者加项目。参考 SMART 原则。
专业知识准备的列表
我要基础知识、算法与数据结构、项目经历与临场表达 3 样事情同时抓才能有比较高的 ROI。此处有木桶效应,若其中一个特别差都会触发技术面试通过的概率大跌。
以 3:2:3 的节奏同时去做我感觉是合适的。一天八个小时分为八个番茄时间,一个番茄 45min,加上休息时间就是 1H。下面的数字就是每一项预期的番茄时间。
基础知识
- JavaScript 基础(15)
- Promise 基础原理以及实现方式默写
- ES6 基础(30)
- TypeScript 基础(20)
- Node.js 基础(15)
- 30 Days of JavaScript - Study Plan - LeetCode(10)
- 函数式编程
算法与数据结构
- Top Interview 150 - Study Plan - LeetCode(100)
- 邻接表的数据结构以及应用
(附带一下 leetcode 刷题的图)
项目经历与临场表达
- 一段自我介绍以及项目介绍的录音
- 有哪些函数式编程的库么?
- Koa Hono 这两个 web 框架之间的横向对比。
- MongoDB 基础: TODO
- Redis 基础: TODO
- OAuth2 是否能手写一下原理什么的?
- HTTP 基础以及原理,三次握手之类的?
- 非对称加密有哪些?原理是如何的?
- 消息队列的使用场景以及优势?
- 一个 web 的项目架构应该是如何的?
各种灵魂拷问
- Q 你是否支持 996 如何看待 996 ?
- Q GAP 这段时间你做了什么?
- Q 为什么选择 XX 城市,如何解决异地面试问题?
- Q 你对上一份工作时如何看待的?为什么从上一家公司离职?
- Q 你的英语水平如何?
- Q 你还有什么要问的么?
- Q 你的性格如何?
- Q 请先来一段自我介绍
其他要做的事情
- 简历 v0.1 - 一页 A4 纸,包括个人信息、教育经历、工作经历、项目经历、个人描述和更多信息。
- 在简历中添加我要表达出来的技术栈
- 求职邮件模版。
灵魂拷问
一些可能不敢面对,但我认为要事先准备好的问题回复
Q1: GAP 这段时间你做了什么?
关于这点,我一直有在记录。不过应当有一个更简短的 200 字的版本(两次旅行 + 两个游戏?)。
Q2: 为什么选择 XX 城市,如何解决异地面试问题?
随着年龄的增长,我身上的可能性在逐渐减少,所以我想趁着年轻多去一下。虽然我目前不在 XX,但我可以灵活安排时间进行线上面试,保证沟通顺畅。
Q3 你的英语水平如何?
英语四级。日常有看 Hacker News 等国外的科技新闻资讯网站。不过水平比较一般,很多时候要靠沉浸式翻译等软件。
Q4 你还有什么要问的么?
这个时候就应该从下面这个列表中一个一个地去 Check 我的疑问
- 公司背景和文化:请介绍一下贵公司的背景和文化?贵公司的核心价值观是什么?开发人员的人工比例大概是如何的?
- 职位要求:这个职位的主要职责是什么?需要哪些技能和经验?
- 工作环境:工作环境和团队氛围如何?是否有加班的情况?如何看待加班?
- 薪资和福利:薪资结构和福利待遇如何?多少固定工资多少是绩是否有奖金和其他福利?
- 职业发展:有哪些职业发展机会?是否有培训和晋升机制?
- 项目和技术:目前正在进行的项目有哪些?使用了哪些技术和工具?
- 管理和沟通:管理风格和沟通方式如何?如何处理团队内部的冲突?
- 工作安排:工作时间和休假制度如何?是否有远程工作或灵活工作时间的安排?
- 公司业绩和目标:公司的业绩和未来目标是什么?如何衡量员工的绩效?
- 其他:是否有其他需要了解的事项?面试流程和下一步安排是什么?
Q5 请先来一段自我介绍
大家好,我叫 XXX,今年 XX 岁,来自 XX。毕业于 XXXXX 学院,软件工程专业。
我是一名拥有四年经验的开发工程师,目前正在寻找一份 Node.js 后端开发的工作。值得注意的是,四年的开发经验中,我第二份工作有大约一半时间都在进行 Shell Awk 方面的开发。所以具体 Node.js 的后端开发经验应该只能算两年或两年半。
我在工作中,前两家公司我都是担任 Node.js 后端开发工程师。在 XXXX,我负责了无人机机库运维系统和中央数据系统的开发,提升了数据处理效率。在 XXXX,我的工作大部分时间都集中在 Shell 开发方面,成功设计开发了多个 Shell 模块,并主导开发了 x-cmd hub 和 x-cmd env 两个重要模块,实现了脚本存储与分发以及软件管理的功能。
除了工作经验,我还自学了 Python 和 Go,并用这两门语言完成了我的大学毕业设计。我热爱技术,喜欢解决复杂的问题,并不断追求技术上的进步。
希望通过这次介绍,能够让大家对我有一个初步的了解,谢谢大家!
BOSS 上的招呼
您好,我叫 XXX,有 4 年开发经验。主要擅长 Node.js、TypeScript 和 MongoDB 等技术,且在 CLI 工具设计、云运维(尤其是在阿里云和 Cloudflare 上)以及 Linux 系统管理方面有丰富经验。
我对贵公司的 node.js 后端开发职位很感兴趣,期待了解更多关于该职位的具体要求和工作内容。谢谢!
BOSS 上的答复
是的,我目前在寻找新的工作机会,主要是想找 Node.js 后端开发方面的工作。
不过我当前人在 XX,但我可以灵活安排时间进行线上面试,保证沟通顺畅。
Q6 你对上一份工作时如何看待的?为什么从上一家公司离职?
出于职业生涯规划的考虑,我上一份工作是在 XXXX 的一家初创公司,与我的上司一起创业。经过两年半的努力,尽管公司未能如期实现收入目标,但这段经历让我积累了宝贵的创业经验。为了调整和提升自己,我花了三个月时间进行休整和自我充电。现在,我已经恢复状态,准备迎接新的职业挑战。
碎碎念
主要是一些不成体系的想法。
- 复盘我的语音 :用录音来调整自我介绍以及项目介绍时候的问题回复
- 投简历的时间:本来想着一周选一天来发简历的,现在尝试一下每天用不同的时间各发个 30min 看一下,对比一下什么时间点的效果比较好。
参考资料
求职过程中整理的资料。有用的进行点评,没用的划掉,两者皆无,则是观察中。
- 用 Figma 做一份个人简历 | 少数派 - 我的简历就是在 figma 上面仿造着写的。
- 幸福的积分 | 虹线 - 工作,首先应当为了乐趣。
- Top TypeScript Interview Questions (2024) - InterviewBit
- node-interview-questions: Node.js面试题,侧重后端应用与对Node核心的理解
后话
暂时能想到的章节就这些,后续会以周为单位持续更新。若更新 100 天后还没有任何进展,则要考虑「程序员」这个 title 是否合身了。
我是一个既社恐又自说自话的话痨(INTJ)。大家当作猴戏来看即可,随便开喷、开笑。当然也很期待大家可以不吝赐教。