# 我要写简历
工作就是为了写简历,学习就是为了刷面试题
# 亮点
有自己的开源项目,定期在掘金产出优质文章(部分文章 被各大公众号转载)
阅读过React相关库的源码并 尝试实现(如 react-router)
官方脚手架搭建项目,喜欢手动搭建项目骨架
具备良好的编程习惯,代码规范、整洁、可维护性强
封装有一定的经验
# 简历参考
- 一个优秀的前端工程师简历应该是怎样的? - 知乎 (opens new window)
- 优秀简历 - 欧阳湘粤 (opens new window)
- 前端工程师直播用 HTML/CSS/JS 写自己的简历! - 饥人谷 (opens new window):Github 源码 (opens new window)
# 简历关键字
HTML5&CSS3&移动端
W3C规范、开发调试、浏览器兼容、代码可读性、常见布局、HTML5、CSS3、盒模型
浮动定位、BFC、CSS3动画、Flex、Grid、栅格系统、响应式、移动端适配
JavaScript
事件模型、DOM 操作、Ajax封装、Jsonp封装、跨域、Promise手写、HTTP缓存、HTTP2/3
闭包、原型链、原生UI组件封装、发布订阅、防抖节流、性能优化
框架&工具
Webpack、ES6 Moudle、Node.js、Babel、PostCSS、Sass、Less
React、Hooks、CRA、Redux、Mobx、ReactRouter、Antd
Vue2、Vue3、Vite、VueRouter、Vuex、ElementUI
后端语言
Nodejs、Express.js、Egg.js、中间件、ORM、数据库、Radius、Cookie/Session、JWT
新技术&其他
TypeScript、Flutter、Uniapp、Taro、数据可视化
精通,掌握/熟悉,了解(新技术)
熟练使用xx工具做什么事
能用xx做什么事情
有xx使用经验
项目
这个产品的解决的行业痛点是什么,产品的规模、数据如何。产品有哪些功能、模块,用了哪些技术,我在项目中承担哪些角色,具体做了什么,遇到哪些难题,如何做优化,通过我做的事带来多少收益
# 如何写简历
简历经验文章看了一大把,这样。。。那样。。。,最后还是不会改,还不如来一些实例
- 简历里要有你工作的技术细节
- 不要让平淡的事情冲淡了你的简历的吸引力
- 真实的反映你的工作,不要浮夸
- 详细列出所有能提升你形象的事情 (奖励, 特别的项目)
- 别撒谎
- 二五原则,每家公司 2 年以上,或一家公司 5 年以上
公式一:
使用什么工具 + 实现了什么功能 + 结果怎么样
公式二:
承担角色,做了哪些东西,用了哪些技术,解决了什么问题。要出现技术名词,细节,可量化的成果
项目描述公式:
重要项目详细描述(不少于 3 行),是什么,用了哪些技术,解决了什么问题,地址
# 自我概述
内容简述,眼前一亮(控制在 50 字以内)
熟悉的技术栈,钻研的技术方向(数据可视化、动画游戏、CDN、网络安全、网络协议、网络性能优化、服务端运维、异常监控、数据统计、模版引擎、CSS 新特性、智能化搭建、webIDE、可视化编排、SSR 服 务端渲染、跨端技术、serverless/node、信息无障碍、中后台组件库、架构设计、工程效能、持续集成、自动化测试等等)
有哪些专利、知名开源项目
是否带团队,团队规模,有哪些亮眼的项目结果
# 工作经历
突出个人业务能力、技术能力、协作能力的重点项目列表
3 句话描述清楚负责的业务领域(这块业务有没有因为你而不同亮点)
技术栈、技术难点、解决方案
跨团队、跨部门、异地跨国协作
# 如何有逻辑的回答问题
STAR 原则
solution 背景 (项目的来龙去脉)
task 任务 (在项目中主要负责什么,遇到了哪些技术难点)
action 行动 (调研对比了哪些技术方案,最终选择什么方案,原因是什么)
result 结果(技术方案落地后,效果如何)
# 如何回答没有遇到过的技术问题(技术广度有盲区)
先如实回答没有碰到过,降低面试官心理预期。
- 如果完全没有学习过这个领域,就放弃这个问题,引导面试官对你熟悉的领域进行深入探讨(考察广度转向考察深度)
- 如果有了解过,可以阐述你的思考过程,回答你经过思考后有哪些解决方案(不一定可行)
# 如何引导面试官对你擅长的领域进行深入探讨(技术深度没有被挖掘)
如果全程没有问到你研究的技术领域,请直接说出你重点研究的方向进行探讨
# 既无技术深度,又无技术广度怎么办?
- 沉淀、反思,寻找自己的技术激情(方向)
- 接受平淡,甘心做个切图仔
- 转行养老
在一个3人组成的团队里开发一个 e-mail 插件
||
1. 工作的挑战性如何
2. 你的工作跟我们公司有多少相关性
||
用C++语言实现一个用来执行自动备份的 Outlook e-mail 插件。
有三个人一起开发这个任务,其他两个人分别负责编写备份存储服务器和产品的打包、分发给300000个客户
我按时完成了这个任务,并达到了预期目标
||
去掉
1. 优化ABC组件代码,使其执行效率提高20%;
2. 用C++实现ABC组件的前端程序;
3. 整理文档,做一些行政工作;
||
第3条去掉
快速的开发出了令人赞叹的软件
||
通过3周的努力使软件的效率提高了25%
我有个朋友叫M,我认识她有10年了。
她开发的一个产品让她的XXX公司赚取了百万美元,获得了很多的行业赞誉,这个软件成了她们公司的旗舰软件。
我去上海时,看到高速路旁边树着一排她们的产品的广告牌。
然而,当我看她的简历时,上面只写道:
* 公司产品的技术负责人,此产品为用户执行X任务提供企业级解决方案。
||
详细列出所有能提升你形象的事情 (奖励, 特别的项目)
知道--能背--会用(无成果,项目-只是会用的堆叠)--会创--创新成果
找能体现 创(会创并有结果)的点
三方的东西越多,面试官的感观越差,不知道问你什么,除非对三方库做了有优化,有亮点东西才值得写
不要超过2页
不要只是用了什么做了什么,比如小程序,可以说性能优化,性能优化带来了什么好处
技术栈大小写要写对,写好看
通顺,看得懂
太基础不要写:如熟悉原生JavaScript,熟练使用git,这些是个前端都必会的
- 使用什么工具: 使用 Scrapy 开发异步爬虫系统
- 实现什么功能: 构建 IP 代理池,优化爬虫策略和防屏蔽规则
- 结果怎么样:提升 200% 网页抓取速度
根据项目任务要求完成规划工作和按时完成软件开发。
完成爬虫模块,展示模块。
开发后台管理系统,实现自定义分页,第三方登录。
完成数据整理与入库功能。
||
使用 Scrapy 开发异步爬虫系统,构建IP代理池,优化爬虫策略和防屏蔽规则,提升 200% 网页抓取速度。
优化项目结构,拆分出核心库、常量库、工具库等公共模块,使用 Vue 框架完成内部管理系统,实现自定义检索,第三方登录,自动化部署等 6个 核心功能。
负责数据的清洗与存储数据到 MySQL 数据库,通过日志分析定位慢查询,通过添加联合索引减少了 50% 数据库查询时间。
1. 熟练掌握xxx技术
2. 了解xxx应用
||
1. 基于maidway+koa+xtemplate+gulp搭建java+nodejs集成开发环境,实现前后端分离
2. nodejs服务做h5页面的token验权,计算静态资源的md5实现manifest缓存机制,提供http、json服务、调用HSF服务
3. 团队内推def+cake工程化前端开发生态体系,引入AWP离线开发包开发部署方案,前端开发于java只需要mtop服务联调
4. 基于KIMI库共建10多个常用业务组件至集团KPM组件管理平台
5. 负责面粉WI-FI项目,使用def+cake+AWP的WebApp应用部署管理cdn静态资源的版本
6. 使用webpack+vue搭建后台管理应用
7. 掌握windvane,jsbridge通用能力并适配移动业务功能开发
A: 我不帅、也买不起房子、身高也不够,但我愿意为你做任何事(滚粗!)
||
B: 我喜欢音乐、会写歌,养了条小狗,爱运动爱旅游,你愿意陪我到处走走看看吗(愿意~)
# 简历 - 优化
2021-04-28 经过几轮面试后总结
- 到岗时间,离职状态 不要写,不要显示自己的窘境,迫切的急需这份工作
- 20 多篇博客-亮点,简书 (opens new window)
- jQuery 和 bootstrap 已过时,太老的技术写了人家也不会问
- 看了一些优秀的简历都是把新技术研究透透的,有几个优点,1-企业他们也想了解和使用新技术,2-你说的面试官不一定研究过面试会感觉你是大牛,3-侧面也显示学习能力强
- 难怪他们盯着我写的 websocket 不放,每次必问
- 打造自己的专属简历 (opens new window)
- https://github.com/FrankFang/cv-2020 (opens new window)
- 对 UI 库描述:已被公司前端同事广泛使用,有效提高前端团队的开发效率,制作过程中我对 xxx 和 xxx 有了新的认识,我将其总结为一篇博客《xxx》
- 大幅提高 xxx 效率,(写量词容易被问怎么计算的,答不出来就感觉很业余),受到公司和用户好评
- xxx 都是由我主导,另外两名前端辅助我
- 该项目大量使用 xxx,让我对 xxx 有了深刻的理解和应用
- scss 基本没被问到,git 和 svn 没被问,正则也不问,混合 app 其实也很少问
- scss 可以换成 css 变量
- 刷多了面试题,基本知道问的是哪些东西,把被问的并且是我会的写简历里,替换已过时或没被问到的知识
- 我是实干型的,简历也是实干型的,企业招的是会面试的,专业的面试人才,所以写的简历要贴近面试题库
- WebSocket,面试官会认为是做过即时通信,其实用得比较少,不属于技术范围,先删掉
- 项目负责人,先删除,不然总问一些项目管理方面知识
- 面试和工作不一样,比如我没做过 react,但是我背 100 道 react 面试题,面试官会认为我精通 react,这也反映一种学习方式
- nuxtjs 项目最好换成 react 项目(流行),至少是小程序(新颖)
- 多写安全、性能、内存泄漏、devtools 常用 api
- 暗黑模式切换-可以写简历里面
- 前端图片裁剪
- 批量引入组件,require.context
- vue 通信的 $listener 和 $attr,很重要,一般涉及 vue 高阶组件都会问,(来色奈尔)
- webpack 的 HMR 研究
- Illustrator(诶勒斯缺特儿)
# 今后怎么去工作
经过这次简历的修改,和专业技能的提升,有一些心得
如果我觉得我是一个比别人厉害的人,我能做好的事情要是给他们做做得肯定没有我好,那我就是优秀,我为什么不能走在他们的前面呢?
- 在平时只注重各种杂七杂八的业务需求 bug 修改,忘记了功能点的积累,所以做好一个东西,要总结哪些功能点将来能写到简历里
- 有些东西从开始就注定没有意义的,比如学习 appcan 开发,研究 ionic3 的热更新,很快就过时了,曾经耗费心血,却不能在简历里留下什么
# 对简历里一些疑惑点说明
细节
vue3 新特性
Proxy:不只是解决了 defineProperty 的局限性。 Performance:性能更比 Vue 2.0 强。 Tree shaking support:可以将无用模块“剪辑”,仅打包需要的。 Composition API:组合 API。 Fragment, Teleport, Suspense:“碎片”,Teleport 即 Protal 传送门,“悬念”。 Better TypeScript support:更优秀的 Ts 支持。 Custom Renderer API:暴露了自定义渲染 API
vite
基于浏览器原生ES模块导入 生产环境下使用Rollup打包 快速的冷启动 即时热模块更新(HMR,Hot Module Replacement) 真正按需编译
hybrid 读什么:嗨不内得
nuxtjs 读音,与 nextjs 区别:拿克斯,来克斯,高度集成的同构直出框架
问 ssr,同构?估计会问 BFF:Back-end For Front-end node 中间层
pm2 基本用法,怎么监控:pm2 start npm --name "unibid" -- run start
koa2 基本用法【背诵】:https://koa.bootcss.com/ (opens new window)
vue 的 preset【背诵】:https://github.com/dcloudio/uni-preset-vue (opens new window) 看这个项目
echarts 基本配置【背诵】,怎么地图下钻
vue-router 哪些钩子,权限控制:https://router.vuejs.org/zh/guide/advanced/navigation-guards.html (opens new window) 进阶相关问的还是比较多的
angular 里怎么传参【问的概率不大,但是必须知道】
jquery 开发插件的步骤
webpack 基本配置
websocket 被问怎么用,有什么 API:new WebSocket("wss://"),onopen onerror onclose onmessage
大方向
http 理解
ssr 理解
大概起始日期 HTML-2014-05-01 CSS-2014-05-01 JavaScript-2015-09-01 JSP- AppCan- Ionic1(angularjs)- Ionic2~5(angular)- Vue-2019-04 uni-app-
# 怎么寻找技术亮点
面试官网问你做了什么
我:我做了一个网站,我还做了一个APP。面试官:滚
别人:我给A系统做了B功能,性能提高50%,我还封装了C功能方便与微服务对接。面试官:nice
为什么别人总有那么多功能点,明明我干的活比他们多,懂得也比他们多
别人做的都是大功能-小项目,我做的都是大项目-小功能
做了什么,结果(跟技术有关)是什么,原理是什么(不写)
从今天开始总结,提取项目中的亮点
还可以从技术社区或技术群收集疑难杂症,自己研究解决,变成自己的亮点
经过这段离职时间的思考,大概是工作中做的功能太多了,每天都是需求-产出,需求-产出
没有了需求,没有了产出,爱技术的人才会停下来,仔细想想,那些 api 是什么意思,底层的实现等等
# 思考
多写安全、性能、内存泄漏、devtools 常用 api
暗黑模式切换-可以写简历里面
前端图片裁剪
批量引入组件,require.context
vue 通信的 $listener 和 $attr,很重要,一般涉及 vue 高阶组件都会问
webpack 的 HMR 研究
Webpack:webpack 是一个用于现代 JavaScript 应用程序的 **静态模块打包工具**
Gulp: 自动化构建工具,用于打包项目
Babel:js编译器 - 将语法书写的js代码编译成浏览器兼容的js代码
ESLint:格式化优化代码结构
模块化、组件化、规范化、自动化
大前端:
iframe/微前端:
性能优化:
mock方案:
SSR:服务端渲染
封装通用组件
尽量减少第三方库的描写,谁都会用,没有亮点
小程序:做了哪些性能优化
骨架屏:puppeteer 截图
hooks:
PM2:部署服务上线
版本锁死
jekins
- fetch
- XMLHttpRequest
- VNode
- axios.all
张秋怡-优秀简历 →