硬实力要过关,软实力也要具备
刻意训练是唯一有用的方法
项目经验
选择项目
如果要选择去做一个项目,首先要考察:
1.做什么样的项目,它的意义何在;
2.明确你在项目中担任的职责是什么,是技术层面还是业务方面的;
3.这个项目是否和你的求职方向对口,例如一个做可视化的老师是否会对你的前端能力提升有所帮助,你能从项目中学习到什么;
4.如果想参加这个项目,你需要具备哪些能力
关于项目的面试问题
面试主要通过询问一些项目考察你的软实力,
例如团队协作能力,沟通交流能力,是否具有技术热情,如果能够思考具备总结能力更好
关于此类问题,你需要讲清楚的是:(star法则)
场景(Situation):项目是在什么场景中发生
任务(Task):项目需要达到什么样的目标,实现什么功能,有哪些环节或流程
行动(Action):项目中有哪些难题,如何攻克的,例如在协作层面遇到沟通上的困难
结果(Result):项目完成后有哪些可以改进的地方
最后讲一讲在该项目中你自己的亮点,和别人不一样的地方
规划
专业没必要读研,起点已经够,专业也对口
硬实力
基础知识:计算机操作系统/计算机网络/数据库系统/…
数据结构和算法:通过刷leetcode题目,从简单到容易,先是数组、链表、哈希表、二叉树,再到排序等算法、递归之类
语言(如js)/框架(如react)层面:从小的内容开始垒,不要急于做大项目;也可以从github上找开源项目运行,看看效果;培养自己的优势,例如对react有独特研究,看过网页源代码等等
业内的趋势:学习前端时最好往移动端偏重一点
打包/工程能力:学习git和github,自己试着做一些小型项目
软实力
刻意培养自己反思总结的能力、规划执行的能力:
1.在博客记录自己的里程碑和计划
2.将每日训练的leetcode刷题的思考过程记录下来
3.所谓的技术热情是在编程调试得到反馈的过程中获得
4.驱动力应该是心目中有价值的事情,例如实习的动力可以是赚钱实现经济独立