前言
主要记录了笔者在上海疫情后一系列"机遇", 之所以称之为"机遇", 是因为最后结果是好的。
狗血
经历了上海三、四、五月份疫情, 打乱了我好多计划, 如订婚、拍婚纱照。
好在六月份可以复工了, 身为程序员疫情期间一直居家办公。 但六月份复工第二天, 中午公司传出小道消息, 三月份工资发一半、四、五 月份工资不发, 下午企业微信打卡记录等入口也关闭了。
下午,部门领导也一一约谈了,结果和小道消息一样,同时宣布六月份起, 实行干一休一, 工资减半。
坚持一个月后, 七月初, 收到了裁撤部门和裁撤岗位的通知及公司破产清算的消息。
值得庆幸的事
首要感觉庆幸的事是身在上海没感染新冠, 政府疫情期间发了三箱泡面。
公司六月份做一休一之际, 回老家装饰老房子, 新房装修选料以及订婚。
公司发了三月份一半薪资, 及意料外的四、五月份的上海最低工资 2590 元
以及裁撤部门争取后的 N 个月工资
也借此机会去威海拍了婚纱照, 回来后准备面试。
分享简历技能点
- 精通HTML+CSS+JavaScript等前端基础技术,根据设计图还原视觉性设计,兼容各大主流游览器,也能够进行移动端的开发;
- 精通Vue以及相关全家桶,可高质量且快速地完成项目;
- 熟悉webpack,git等前端工程化内容,具有前端性能优化、前端工程构建相关经验;
- 熟悉Node.js、TypeScript、Koa、React、MySql;
- 理解数据结构、计算机网络、规范化、微前端、微信小程序服务商模式
- 理解前后端分离设计和模块化设计思想, 熟悉常用设计模式,能够独立进行组件开发;
面试准备
当然面试题准备更多的是对自己已经掌握的知识的补充和巩固, 如果时间有限还是建议把时间用在对已有基础的巩固和补充上。
前端基础
市面上最多见的高频面试题和阿里面试题, 可以助你对付 HTML、CSS、JavaScript、计算机网络、游览器等基础题
比如我在面试中就遇到过一下几个问题:
- 数组去重的几种方法?
- 数组拉平的几种方法?
- JS 的数据类型有哪些?及判断数组类型的几种方法及优缺点?
- 谈一谈你对闭包的理解?
- 说一下 http 和 https 的区别?
- 在地址栏里输入一个 URL,到这个页面呈现出来,中间会发生什么?
- cookie、sessionstorage、localstorage 的区别?
- 谈一谈 TCP 和 UDP 的区别?
- 如何用 CSS 画一个三角形? 如何用 CSS 画一个五角星?
- 知道 BFC 吗?谈一谈对 BFC 的理解?
- JS 深拷贝的具体实现?
一般面试官都是从基础面试题聊起,一步步深入考察面试者的能力,所以把基础应放置在前面,另外复习基础题时间不宜过长,一周左右为佳。
面试体系
推荐一些面试方向方面的博客
JS 进阶
推荐一些我准备过程中发现的一些好的资料
原生 JS 系列
- 一文帮你搞定 90%的 JS 手写题,真香!
- 我从来不理解 JavaScript 闭包,直到有人这样向我解释它...
- 破解前端面试(80% 应聘者不及格系列):从闭包说起
- 冴羽大佬的 JavaScript 深入系列、JavaScript 专题系列、ES6 系列
- 若川大佬的面试官问系列
- 回味 JS 基础:call apply 与 bind
- 轻松理解 JS 原型原型链
手写部分可以试着理解并动手敲敲, 我在面试遇到了:
- 试着手写实现 call 写思路也可以
- 手写实现深拷贝, 注意相互引用情况
ES6 系列
- 1.5 万字概括 ES6 全部特性(已更新 ES2020)
- 20 个不容错过的 ES6 技巧
- 近一万字的 ES6 语法知识点补充
- 一个合格的中级前端工程师需要掌握的 28 个 JavaScript 技巧
ES6 部分有重合, 复习时可忽略重复部分, 这部分大多工作时长使用, 相对花费的时间较少
异步相关
- 要就来 45 道 Promise 面试题一次爽到底
- 从一道让我失眠的 Promise 面试题开始,深入分析 Promise 实现细节
- 手写 async await 的最简实现(20 行
- 最简实现 Promise,支持异步链式调用(20 行)
- 一次弄懂 Event Loop(彻底解决此类面试问题)
在面试过程中遇到手写 Promise 的笔试题
中间件机制
因为在技术点栏写了 koa, 所以针对中间件也看了一部分的文章, 进行查漏补缺
设计模式
- 我利用做一休一的时间看了两遍修言大佬的 JavaScript 设计模式
- 前端进阶之路:1.5w 字整理 23 种前端设计模式
框架部分
Vue 和 React 有什么不同
- 可以从开发角度、理念、语法、数据通信等方面进行总结,基本是必问题。
Vue 基础
- 看累了文章,就去哔哩哔哩看看视频面试题,金渡的课是真的多,不过还是推荐珠峰的课vue 源码分析
- 总体珠峰的课比较适合我, 我看了一些珠峰的公开课,训练营
文章的话就不推荐了, vue 面试中占得比较最高, 但多为基础题和与原理题, 并没有遇到细问源码的面试官, 对原理了解并了解怎么实现的, 大部分面试官不会太为难。
React 基础
React 水平有限,就不推荐资料了
工程相关
webpack 还是要学的, 会配置, 熟悉 webpack 原理并试着手写简易版 webpack、tapable, 助你涨薪 2k
- 我在之前学习时做的webpack 笔记
- 经过手写 webpack、tapable 后对面试题都会有一定的了解, 需要综合几篇 webpack 相关面试题, 进行总结归纳
- webpack 部分需要针对你对性能优化部分总结, 面试必问题, 也可以自己提出在项目中做过哪些优化
- 【万字】透过分析 webpack 面试题,构建 webpack5.x 知识体系
- 一文彻底读懂 Babel
- Git 工程规范
- Eslint + Prettier + Husky + Commitlint+ Lint-staged 规范前端工程代码规范
- 前端工程设计范式
- Server-X:一款可能提升你十倍工作效率的工具
工程相关方面也是我比较薄弱的地方, 也是补了挺多的。
其他
因为时间有限, Node、TS、MySql、数据结构、微前端、小程序相关知识并没有进行复习,也是把自己工作中知道说出来。
不过也遇到了一些面试题:
- MySql 中,怎样联结两张表,并去重?
- TS 中接口 interface 与 type 区别?
- 微前端你研究到哪一步了?乾坤中通信?
- 聊一聊微信小程序支付?微信小程序整个登录流程?
- 算法题: 整数数组 nums 和一个整数目标值 target? 求两数之和并返回对应下标?
- 给你一个单项大于 6 的整数数组, 连续三个连续的自然数, 其中两个是质数 第三位能够被整除?
- 删除有序数组中的重复项?
- 不使用数组的方法, 找到数组中重复项的最优解?
简历
- 可以将不必要的信息去掉, 看起来简洁为佳;
- 可以适当包装, 但基于真的做过, 也要时常总结归纳复盘;
- 将项目做过比较复杂的部分进行补充总结, 当做一个亮点来说;
- 写完简历后, 要研究自己的简历, 存在哪些问题, 你看到这份简历会问什么;
面试情况
上海的疫情余温还在,招聘机会比以前少很多,倒闭的公司太多了,岗位有限。
面试了不到两周的时间, 面试了十来家, 基本所有的公司技术面试都过去了,有几家也到了人事面,到也明确说了候选者不少,我要的薪资较高 + 学历低(大专,自考中)。
给了 offer 的有 5 家。
目前薪资不方便透露, 较上家涨了 6k。
总结
因为自己今年计划的事挺多的, 没有太多的时间继续面试。
今年订婚、拍婚纱照、领证、结婚;
今年 3、4、5 月份工资差额还没要回来,做一休一、裁撤部门、上家公司进而破产;
今年新房在装修,需要选料、地板、墙砖各种东西;
今年 10 月份结婚及 10 月份自考,自考两年考过了 13 课,还余 4 科,今年 10 月份考英语。
回到前言,今年一系列的遭遇,现在也逐渐变成机遇;
现在虽然难一点,但不苦,喜欢前端,但不卷,所学的的技术都是工作中面对的技术;
写在最后
给自己点鸡血
过好每一天,演好当下的剧本,朝着心中的那个标杆去前进。人要做的不清高不矫情不抱怨,就是在黑夜中看到微光,你就朝着微光的方向走过去,虽然有的时候你会怀疑,你会觉得是不是走错了,但是所有的怀疑都是为了确信。