没有⼤⼚经验的前端可以这么写简历
社招进⼀家⼤⼚最有效的点⼤概就是另⼀家⼤⼚的经验了。⼿动狗头。
那没有⼤⼚经验想要进阶挑战⼀下呢?
前端进阶,可以从写简历开始。看看⾃⼰有什么可写的,写好后反向学习和准备。
教育经历和⼯作经历没有空间,我们能改进的只有专业技能和项⽬经历了。
我有两家⼤⼚⼯作经验,阅读过⼏百份简历,这⼏年⾯试过近百⼈。最近有童鞋请我帮忙改简历,我发现⼀下还说不完,就总结了出来。⼀、专业技能写精通,⾯试官难以抗拒
对于边界范围相对⼩的专业技能⾄少有⼀两个写精通
我们经常会⽤了解,熟悉,熟练,精通来描述⼀项专业技能的掌握程度。如果近⼗项的专业技能都是熟悉,那这份简历也有点平庸了。
尤其是在教育经历和⼯作经历等其他⽅⾯都不出彩的情况下,这⾥更要突出重点!
1、基础知识⾥的HTML和CSS可以精通
作为标记型语⾔或者说规则型的语⾔,没有很复杂的内在语⾔逻辑,我们可以通过花⼀到两周时间通读API⽂档和相关书籍来达到“精通”。
如果简历上写了精通,⾯试官肯定不会轻易放过你,⼀定要花费精⼒准备才⾏,⾯试的时候相关问题能对答如流,那我们的⽬的才算达到。
随着学习的深⼊,我们懂得越多,就会发现我们不懂的也越多了…这个时候不要怂,⼀些冷门的知识答不上来也不要紧,达到⾯试“精通”就可以了。
说⼀个⾃⼰的体会:我在校招的时候,简历上就写了:精通HTML和CSS,xxxx,⼯作了两年之后,我默默把精通改成了熟悉。
简单总结了⼀下,除了常⽤的基础知识,搞清楚下⾯这些概念,⾯试“精通“就稳了:
HTML标签,右键查看⼏家⽹站的源代码,要包括电商、搜索引擎、资讯等各类⽹站,了解每个标签的作⽤
CSS盒模型、浮动、布局、各种居中对齐的实现
CSS3动画、动画的性能
H5带来的新特性
语义化、w3c标准、SEO
⽆障碍阅读
SASS、LESS等CSS语⾔扩展
⼯程化规范:eslint、BEM等
2、项⽬中⽤到的场景可以精通
⽐如说项⽬中⽤到的框架React,是可以尝试去精通的。写上了精通,就要做好准备,如果在项⽬中仅仅只是熟练的使⽤,那离“精通”还太远。
React核⼼功能就是构建UI界⾯,我们还是可能通过⼀个短时间强化学习来达到“精通”的。
框架本⾝可以通过读⽂档、看源码来深⼊学习
JSX的运⾏离不开babel
还有状态管理redux、路由router套装
打包使⽤的webpack
React和React-Native
个⼈体会,redux相关的flux、react-redux、redux-thunk、redux-saga等等⼀套我就陆续花了⼩⼀周来理解,精通要慎⽤,除⾮你已经准备好了。
最好根据⾃⼰的项⽬经验来扩展“精通”⽅向,⽐如说项⽬中⽤Vue⽐较多,就选Vue⽅向,这样准备起来有⼀些基础,同时项⽬经验也能提供佐证。简历上写了就得反向过来驱动去学习,这个也是⼀个进阶的路线。
3、对业务技能做⼀些补充说明
我以前做过数据可视化相关的业务,虽然项⽬没有那么复杂,但是我还是花了很多时间去学习。
简历⾥可以这么写:熟悉Web端数据可视化,熟练使⽤echarts、d3等⼯具库实现各种数据可视化场景,熟练的使⽤Canvas进⾏图形和动画的绘制,了解SVG和WebGL,对图形和动画绘制过程中的性能优化有⼀定的理解。
这句话⼤致可以传达出我对做数据可视化的业务很熟悉,有开源库⽆法满⾜的定制需求还能尝试⾃⼰
实现,对web提供的API⽐较了解,有⼀定的图形和数学的基础,会关注可视化业务的性能。⽽且这⼀条⾥提到的内容都是有关联的,会更有说服⼒。
数据可视化会涉及到数学和图形学的基础,然后就是Canvas等WebAPI的使⽤了,也有很多开源的⼯具库可以使⽤,如果项⽬有⽤到,也可以花⼀定的时间去达到“精通”。
4、精通不要随意写
精通的专业技能不要写太多,毕竟时间也不允许,如果和⼯作年限不匹配反⽽不真实。更不能随意写。
例如:JavaScript不要随意写精通,即使你使⽤的很熟练了。
不同于HTML,JavaScript是编程语⾔。它有很多⾃⼰的特性,有优点也有坑。我们可能需要再去学习⼀到两个其它编程语⾔,才能真正解释得清楚,⼀门语⾔的优点和缺点往往是需要和另⼀门有某些相同点的语⾔对⽐得来。
这还只是语⾔的本⾝,还有它运⾏的平台V8引擎,还有各个⼚家的浏览器提供的特性。我认识⼀个有事没事就读V8引擎源码的⼤佬,如果你敢写精通JavaScript,能把你问到泪流。
reactnative开发个⼈经历:记得我有⼀次⾯试被问到这么个问题,数组的sort⽅法是怎么实现的?它的时间复杂度?我只能如实回答我没有了解过,如果在某些场景下需要优化,可以根据需要去实现对应的排序算法。幸好我简历写的是熟悉JavaScript…
⼆、项⽬经历挖掘整体价值
前⾯的专业技能已经体现了个⼈的技术特点,如果有精通或者熟练这样的程度就需要在项⽬经历⾥同步的体现出来。当我们总结项⽬的时候,应当把重点放到整个项⽬,⽽不再是个⼈!
如果我们的⼯作经历⾥只有负责业务的开发以及辅助主程完成⼀些功能的实现,写到简历⾥只能是平平⽆奇了。与前⾯吹下的⽜,各种精通,也是毫不沾边。
1、站在架构师的⾓度来总结项⽬
不想做架构师的程序员不是好螺丝钉。
总结项⽬的时候要总结⾃⼰在这个项⽬⾥学到的东西,⽽不只是⾃⼰负责的那⼀⼩部分:
项⽬⽤到的框架,⽐如说React,选它肯定有理由,⽐如说项⽬⾥其它业务同步使⽤React-Native,同步使⽤Taro框架开发⼩程序,团队⾥APP使⽤RN进⾏混合开发等等,最不济的,团队成员都是这个栈,喜欢⽤也是⼀个很重要的理由!
⽤到了webpack,如果通⽤的配置⽆法满⾜项⽬的需求,还有定制化开发的loader或者插件就更棒了
⽤到了持续集成,⾃动化部署,提升效率
项⽬配置了代码分割,来优化⾸屏的加载速度,做了各种策略来进⾏性能优化
项⽬⾃研了⼀个框架来解决某些问题
以上只是举例,可以根据具体的项⽬来总结。
2、站在主程的⾓度来总结项⽬
整理了⼀下,似乎前端开发⾥⾯的难点也没有那么多…例如:
业务⾥有⽆限加载的DOM,解决了性能问题
数据可视化也属于⼀个难点
富⽂本编辑器的开发
复杂的CSS3动画处理
主程在⼀个团队⾥往往负责难点的攻关,和架构师的⼯作内容常有⼀些叠加。如果在项⽬⾥某⼀个难点不是⾃⼰开发的,但只要把这个问题交过来,同样可以做好,就可以写到简历⾥。⽆需强⾏安在⾃⼰⾝上,说明是团队完成的也是⼀样。
3、站在项⽬经理的⾓度来总结项⽬
⼀个产品完成后这个产品有多少⽤户,取得了怎么样的成绩,这些成绩⾥有哪些是和技术相关的。
例如:
经过前端性能优化,页⾯的加载速度变快,注册的⽤户变多,转化率提⾼
完善的错误提⽰,极速的交互响应等可以带来⽤户体验的提升
向下兼容古⽼的浏览器,可以照顾到极少的那⼀部分⽤户
精细的响应式设计,让不同尺⼨设备的⽤户都能有完美的体验
这些都是和技术有关的。
4、吹⽜
扯⼀点个⼈经验:我毕业第⼀份⼯作是⼀家⼤⼚,技术团队很厉害,做的项⽬也是公司核⼼业务。然⽽我在团队⾥做的主要是业务开发,刚开始进步很快,后来渐渐混吃等死…不知道有多少⼈和我⼀样…
当时公司⽤的⼀些技术放到现在仍有⼀部分很前沿。公司有⾃研的框架,然⽽在我⼊职前就已经稳定了,偶尔才需要维护。还有⾃研的构建⼯具,当然也是在我⼊职前就有⼤佬开发好了。UI组件库也有了。还有很厉害的服务端渲染技术,配合HTTP的chunked编码传输把⾸屏时间优化到了极致…
虽然这⼀切⽜逼的东西和我关系都不⼤,但是我是这些技术的忠实践⾏者啊!后来跳槽⾯试的时候,直接吹项⽬⾥⽤了啥啥技术做了啥啥,⾯试成功率100%。
最后,整理不易,如果感觉对⾃⼰有帮助,记得点赞收藏~