转载声明:文章来源https://zhuanlan.zhihu.com/p/611735526
写给想成为前端实习生的同学,或未来想要从事前端开发的应届生的一些建议。
本建议适合群体:在校生,包括大三、大四,研二、研三。
在校生实习的最佳时期在本科大三(下)、研二。
理由:最好在毕业学年的前一年积累至少 3 个月(6 个月最好)的实习经历,并且该实习经历一定要和未来目标职业完全契合。这样你一定会在毕业的最后一年拥有非常不熟的优势(真实的工作经历带来的快速上手能力非常直观)。
以本科段为例,可以在大一、大二找和未来工作不想关的勤工俭学,但在快毕业的两年期间,一定不能找和未来工作不相关的,有这个时间不如多准备自己的专业知识
可能在大三学校里还有部分课程,自己想办法克服,“弯道超车就在此时”。
近两年,互联网公司都在缩编,比如,原先每年招 100 人,现在就招 30 人,尽可能的提升个人优势往前排。
“2~3个月的实习经验等于没有”,因为这点时间刚刚够熟悉工作环境,当然,比没有实习经历的要好那么点,但也不足以排进前段。
对于大四同学来说,如果在大三结束时没有准备好,那么,时间对于你们来说就非常宝贵了(所剩无几)。
因为,如果把大四学年分成两半,前一半要参与全年工作机会最多的秋招(9月开始),后一半(过年后,3月左右)要准备签就业协议书。简单的说,前一半只能在实习和秋招中二选一,后一半在面试和焦虑中度过。悲哀的是,如果大四毕业前没有找到工作,毕业后就会和下一届学生竞争……(及其被动)
关于实习前的准备,或者说准备开始找前端实习前的准备。
0、明确目的和目标。
要求有些高,但很重要。(明确目的和目标后,就不会浪费自己的时间精力,例如定位到目标2,做目标3的事。或者,只想找个中小公司,结果在准备大厂的笔试面试)
这一环节的核心是制定接下来 1 ~ 2年的计划。(以下纯粹举例,如有雷同,纯属巧合)
目标 1:在大四下之前拿到 Offer
定量指标:
具备至少 3 个月及以上的开发实习经历。
熟悉掌握热门面试题(200 题以内)。
定性指标:看运气(“自求多福”)。因为供需是两个变量。
目标 2:在大四下之前轻松拿到 Offer
定量指标:
具备至少 6 个月及以上的开发实习经历。
熟悉掌握市面热门面试题(500 题以内)
目标 3:在大四下之前拿到大厂 Offer
定量指标:
能够轻松通过 3 家及以上的中厂面试。
具备至少 6 个月及以上的开发实习经历。
对市面上 80% 的前端面试题达到“触类旁通”的状态。
定性指标:
具备独立、熟练开发维护中小型规模的项目。
综合能力相当于具备 1 年及以上的开发人员。
学历,思维逻辑表达足够清晰……
目标 4:工作 1 ~ 2 年后,再拿大厂 Offer。
指标:
具备连续 1 ~ 2 年中厂规模的工作经历。
所维护项目为热门类型项目(例如:直播、电商、社区等)。
熟悉所维护的项目业务,熟悉所在项目团队的开发协作流程。
在最近 1 年内,有较好绩效表现(准备亮点至少 2 个及以上)。
熟悉掌握目标层级的(1~2年开发人员的)热门面试题(200 题以内)。
学历,思维逻辑表达足够清晰……
对于一些定性词的解释:
了解:知道大概,能串联重要信息形成闭环,但无法深入,仅处于知道的层面。
熟悉:在了解的基础上,能够深入 1 ~ 2 级,并且,自己实际经历过。
精通:在熟悉的基础上,能够横向关联或推导其它相关知识信息(触类旁通)。
言归正传,正所谓计划赶不上变化,找工作主要看运气。但是,机会总是留给有准备的人,这个“准备”指的就是一些常量(个人可以控制的部分)。
1、简历。
一定要重视自己的简历内容和板式。(我每次筛简历,至少 70% 的简历因为内容和板式不合格,直接拒绝)
简历风格:
简洁的模板(程序员的专属),基本上,可以完全用标题和正文就可以。不要出现背景色、色块,能出现的图片的地方就两个,一个是照片,另一个是项目截图(不重要)。
内容精简:一张纸说完内容,并且内容中应该都是关键词,必要是可以高亮(加粗、下划线、填色)。
用人单位每天会受到实习生简历数几十几百份,简历筛选时,平均停留在每份简历上的时间最多30秒(一般在5~10s)。所以简历一定要简洁,精要。
简历内容:除了个人的基本信息外,简历一定要写明 3 点内容。
过往的和前端开发相关的实习经历。
最近个人独立开发的前端项目。
目前熟悉的前端的技术点。
除以上内容外的其它内容,例如得奖、社会实践、以及和目标岗位无关的经历,几乎没有用、没有用、没有用……因为这些都是加分项,是在同等条件下加分用的。或者说,加分部分只占总分的 10%,你应该关注最重要的 90%
基本信息一定要写清楚,包括:姓名、邮箱、电话、求职意向、教育经历。这不是废话!!!现在人事信息系统都会自动识别简历内容,特别是邮箱和姓名,如果识别错误,可能会使你错过一次机会。
前端实习经历
有是最好,如果有,通过的概率很大,因为你是上一家经过筛选、使用过的“人才”。
如果没有,那就专心整理下面两点内容。
独立开发过的前端项目
强调的“独立”,不是多人参与的日常编码作业,更不是跟视频课程学习的前端项目。
目标项目,可以侧重于真实的需求项目,参考你日常使用的 APP、网页等。
退而求其次,如果你就写了一个图书管理系统,或者个人博客。那请一定要把需求、代码、设计“烂熟于心”。不要觉得简单的项目就简单,结合前端的技术点深入,也可以说的很专业。
重点强调:别追求写的项目难、写的项目多。这是误区,也是陷阱。
2、刷题。
简历是帮助你获得面试的机会,刷题是为了提高你在面试通过的概率。
不要找我要题,市面上一搜一大把,50题、400题、1200题。
重点是圈定个人的面试题范围。校招和实习生的定级是 P4,最多 P5,相当于 1 年工作经验以内。在是上限,下限是能够完成小规模(商城、管理系统)项目功能编码。
所以,原则是:“一切以实际编码场景为基础,至多向外括 1 级”。
例如:可以把理论原理往后放,包括但不限于:HTTP、TCP、DNS、网页请求过程、MVC、MVVM、双向数据绑定、浏览器兼容性、Web标准、跨域、数据加密、前端安全、设计模式等。
刷新题时,重点不是数量,一定需要自己分类总结和关联。
不要为了刷题而刷题,这样即被动,也浪费时间。
市面上的前端基础题数量在 200 ~ 500(不包括算法题),算法题在 300 以内。所以,按这个题量,至少也得准备 2 个月的时间,如果大三没有去实习的同学,应该得认真准备了。
算法题是编码题的一种,常说的编码题一般是功能方法实现,例如节流、防抖。算法则是排序、遍历等。如果你的目标企业的面试内容中会包含算法题,则准备,否则无需准备。
重要提示:和编码相关的题,不要背(理科知识不能背),要把上下文搞清楚,例如:让你写个节流函数,得知道节流用在哪?以及节流写好后,怎么用!!!
如果没有充分时间准备,退而求其次,圈定自己力所能及的区域,两个方向:
有过项目经历的,将项目内所涉及的功能模块扩展学习,eg. 权限、页面加载过程、网页缓存、节流防抖……
API 文档。没有项目经历的把 JS 和 CSS 的 API 文档过下,熟悉常用的操作,eg. 数组、对象、操作符……(通常说的基本扎实,检查的就是这里)
特别说明下样式的学习,一方面总结下常见的面试题,估计 10 类以内,无外乎 BFC、响应式、盒子模型、居中等。另一方面,参考市面是常见的平台网页的主页,选 3 个,自己实现几遍,做到能在 2 小时内实现整个页面样式。
小结(碎碎念几句)
1.找工作是一件比较看运气的事情,但不代表完全看运气。我们应该充分把握其中的常量(确定性的因素),剩下变量就随缘了。
2.以我常年面试的经验,面试数据为:70% 因简历被拒,20% 因面试被拒,10 % 通过,通过的中有一半不来(手上有多个 Offer 选)。
3.进入 2023 年,前端岗位已经不是无脑(糊弄)能入行的了,别想着后端做不了,退而求其次做前端,这类人可以去做测试或产品。
4.以往认为前端容易找工作是因为,随便花 2 - 3 天学个 Vue、React 就可以开发网页了,又因为之前大量定制化网页开发需求可以吸收掉从业人员。现在随着大环境增长停滞,各行各业信息化覆盖率的饱和,未来从业人员会趋向稳定,入行要求也会随之提升。
5.虽然面试经验是需要积累的,但别任意面试(消耗),因为每个人的目标(层级)范围内的公司 ≤3 家,面一家少一家!(系统有记录,再投都投不进)
6.面目标层级公司的前 2 家失利后,接下来,就不要再约面了,得反省、调整了。(通常,如果你过了一家目标层级公司,之后的大概率都会过)
7.大专的同学,建议尽可能的去专升本,拿到本科学历。本科学历是程序员的基本学历。花费的备考时间和两年的本科段时间(实际上就 1 年),对于未来职业发展而言是“血赚”。
8.如果你海投了简历,但是没有多少邀约面试,那一定是你简历问题,无非几点:
①学历:至少本科。
②技能关键词不匹配:不要乱给自己点技能树,web就web、node就node、小程序就小程序。
③实习经历:关键是时长(别两三个月,因为这点时间基本就熟悉办公环境,至少 6 个月),以及实习内容(一定得是前端开发)。
9.别觉得前端岗位少,前端岗位需求量不小。
①前端所实现的交互视图界面,属于个性化领域,任何公司都不希望自己的界面和别人相同。
②前端开发是程序员的一个分支。前端面向视图交互编程,后端面向数理逻辑编程。
③前端需要学习的面宽可不深入“骨髓”,后端面窄必须深入“基底”。
④前端可以通过 1 周技能学习,即可开工。而后端,没 1 ~ 2 个月,别想独立做事。
⑤经常会见到小公司,一个全栈前端搞定所有,因为市面上的云服务很成熟了,增删改查、服务部署都已模块化标准化。
10.不要觉得前端没前途。
①标准化的事务,随着时间增长,一定会被抽象和复用,例如云服务。而个性化的事务,只会不断变化,无法禁锢。
②前端岗位既处在开发与用户之间,又处在视觉与编码之间。
③中间层,意为着苦逼时,谁都可以给你提需求(UI、产品、后端、用户)
④中间层,也提供了你可以多样化转向的可能,成为一名“六边形战士”,你可以即会产品视觉稿设计、产品原型设计、项目管理、后端数据服务开发……,并不要求你各个方面达到资深,不过,如果你个人愿意各个深入,也不是不行,但是,资深不仅需要投入大量精力,也需要有大量锤炼的机会。
⑤后端和前端的本质区别
从意愿上,后端并不喜欢碰触视觉,因为视觉在不断跟随个体的主观变化而变化,导致无法抽象和推理。
从技能上,写样式是目前前后端技能树中一个巨大的鸿沟。
帖子还没人回复快来抢沙发