每个公司又有一套成熟的技术栈。比如在构建工具上,百度用 fis3、美团用 Gulp。
你要面哪个公司,要先看看对方要求的技术栈。
上面四个部分,我们接下来详细介绍。
一、(JD)的分析
介绍
概念:
-
职位描述:注重的是工作职责。
-
任职要求:要求的是工作能力。通常描述得很细致。
PS:前端的知识庞大,不可能所有的内容都准备好,但是要向“任职要求”靠拢。
分析职位描述(JD)的目的是:
-
快速识别出这个岗位是否是自己喜欢的、想要的。
-
目前的技能是否能胜任岗位的要求。短期内的准备能否胜任。
举例:京东 web 前端的职位描述
如下:
职位描述:
(1)面试时,会同时考虑到 PC 端和移动端
两个部分。
(2)App H5开发
指的是两层意思:
-
Hybrid 技术栈。
-
纯 H5 开发。和 native 开发没有关系,比如活动、专题。
(3)调试数据接口
:要学习一下怎么模拟数据。
(4)前端组件库的建立
:要求较高但非常重要。体现在:
-
基本功要扎实,原生 js、css的理解要到位。
-
之前有没有前端组件库相关的项目经验
-
是否通读过其他的 UI 组件库。
(5)优化与重构
:难度比第四条更大。
PS:前三条是基本知识,第四条、第五条属于进阶。
任职要求:
(1)3年以上工作经验
:不要太较真工作年限。精通 H5 特性
:说明公司很看重移动端。了解H5最新规范
:贵公司希望我对新技术是有追求的,比如ES6
等。
(2)要求我们对面向对象
部分有足够的了解。组件化的编程也离不开面向对象。
(3)体现了几点:
-
熟悉 Web 标准
:熟悉最新的标准即可。 -
表现与数据分离
:MVC框架。 -
语义化
:这个词千万不要忽视。不是什么都用 div。 -
实际经验
:利用框架开发的过程中,遇到过哪些问题?没有实际经验的话,也要提前准备几个问题。
(4)以下几点:
前端架构分析与设计...
:说明此岗位并不面对初级岗位。因为工作一至两年的人,大部分都是做业务开发,缺少系统的架构能力。
我们要准备一个项目的架构(比如公司现有的项目)重新梳理,包含:目录结构的设计、复用性设计、模块化设计、自动化测试、上线流是什么。
-
易读、易维护的代码
:面试过程中一定会让你写代码,来体现。要求;每个函数的功能要单一、能抽象尽量抽象。符合这两个原则,基本就满足了“易读、易维护”。 -
高质量、高效率的代码
,短时间内不好准备。
(5)用户可用性、用户体验、用户研究
:考察的不是技术,而是候选人对于产品体验的理解。不仅仅只是完成功能而已。
(6)强烈兴趣
等,是公司企业文化的一种要求。多去GitHub上看看别人的项目里用的什么新技术、多看博客。短时间内无法准备。
(7)了解Sass
和Less
:这是基本技能。
(8)熟悉web构建工具
:新手推荐学习 Glup,而不是 grunt。当然,你要知道 Glup 和 grunt 的区别。
PS:了解、熟悉、精通,是有区别的。
(9)暂时可以忽略。如果 职位描述里没有要求Node.js
,而你只会一点点 Node.js
,那不建议你面试的时候把Node.js
体现出来。否则是给自己挖坑。
二、业务分析
CSS3 动画是重点准备的内容。
jQuery 要准备事件委托、选择器等。
ES6语法:import、export等。
通过简单分析源码,我们初步得知网站的以下几点:
-
jQuery
-
vue 框架
-
ES6
-
webpack 打包工具
三、前端技术栈准备
上图中,左侧是前端技术核心,右侧是前端工程化。
左侧:(前端技术核心)
-
jQuery:要注意看源码。看源码时,要看这几个:核心架构、事件委托是什么、插件机制、兼容性。
-
三大框架:都是mvvm框架,准备一至两个即可,或者精心准备一个。面试时会问得很细。比如面试官会经常问Vue、React的源码。建议找网上的源码分析的文章。
-
Node.js:服务器端的运行环境。如果没有相关项目经历,就尽量不要提。
-
JavaScript 基础:框架有时候都很虚;熟练掌握 JavaScript 基础,才是行走江湖、驰骋千里的关键。
右侧:(前端工程化)
-
npm、yarn:包管理工具。npm的常见命令、npm scripts 怎么用的。
-
webpack:模块打包。
-
gulp、grunt:构建工具。
-
Sass、less:CSS 预处理器。
-
Babel:ES6转ES5
四、自我介绍
面试问的问题,很大层次上,取决你的简历和自我介绍。
简历
简历中最重要的四个信息:
-
基本信息:姓名、年龄、手机、邮箱、籍贯。
-
学历:从大到小写。硕士 -> 本科。
-
工作经历:时间、公司、岗位、职责、技术栈、业绩。业绩是大多数人所忽略的。
-
开源项目、Github、说明。
自我评价可以不写。
项目的业绩上,要包括:技术收益和业绩收益。
自我陈述
1、把握面试的沟通方向。
如果陈述中谈到项目,面试官可能会问:
-
负责了什么项目,项目是做什么的
-
和前端的结合点是?你的角色是?项目中承担了什么责任?
-
你在项目中的成绩?
如果你说自己是项目负责人
,会被问到:
-
该项目怎么分配?有几个人参与?
-
作为负责人,你的角色是什么?是项目管理还是技术管理?
-
遇到技术难点,如何解决?
提问题
如果在深入问题时,碰到不会的,不要说“我不知道”。建议回答:
-
这方面我没有经验,能不能指点一下?
-
有什么建议或者参考资料吗?我想把这个东西弄懂。
刚毕业找工作并不是全看技术
在刚毕业的时候我会认为找工作是只看技术的,毕竟我们是技术岗位。
但是现在自身的感觉包括也和其他小伙伴聊过之后发现技术有的时候占比也没有想象那么高。
因为其实我们毕业之后 1 -2 年内并不是特别能拉开差距,大家的水平相差都不是特别大。
这个时候可能一些其他的品质更重要,比如你的沟通能力、你的性格、是否踏实。
同时,找工作这个事情,运气和缘分也是很重要的,比如当时的岗位是否是急缺岗位,如果是新增的部门或者刚好有人离职需要补位,这些特殊情况下,可能要求会稍微降低些(绝对不会降低太多)。
所以最好是找团队人员内推,这样对团队的情况会更加了解。
但是个人觉得,3 年之后技术水平的差距就会越来越大了,并且想要缩短差距也会越来越难。
刚毕业尽量去大公司
其实就和你上大学选择名校还是一般学校,有些人说不想当大公司的螺丝钉的时候可以先问下自己能不能够进入大公司,不要还没有进入就开始酸。
有能力去而选择不去和去不了是两个概念。
从自身以及周围人的经验而谈,大公司你能学到的东西从各方面都是比小公司强一点的(这里说的小公司不代表某些小而精的公司)。
个人经验而言,大公司并不是每个人都是螺丝钉,做重复的劳动,因为你所对接的部门有很多,你需要和各种各样的前端、后端、产品、设计、QA 接触,每个人的习惯都不尽相同,也会遇到跨部门合作,不同部门的技术栈可能会不一样,所以,你所接触的东西是多元化的;
相反,小公司所接触的前端、后端、设计和 QA 基本都比较固定,基本上也不会有跨部门合作的需求,并且技术栈相对而言比较固定,使用了一套技术栈基本也不会换,所以你的技术提升视野可能会稍微窄一点。
并且大公司的业务复杂程度和用户数量也是小公司所不能提供的。
说句实在话,简历中有知名互联网公司的工作经验是很加分的,基本都能有个面试资格,因为从某种程度降低了成本,因为既然能够去知名互联网公司,说明肯定是有优势的。
不要只会 API,要了解其原理
我们老大经常给我们说过的一句话是:“不要只会一些 API 的东西”,现在前端的一个现象是,很多人使用了一些 API,就觉得掌握了某些知识。
要注重一些底层知识,一些原理,这才是长远发展的必备技能。
比如在电面的时候问:“一句话概述下什么是 promise”,很多人都回答 promise 的使用方法。
找工作是双向选择的过程,一个好的团队很重要
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
你要问前端开发难不难,我就得说计算机领域里常说的一句话,这句话就是『难的不会,会的不难』,对于不熟悉某领域技术的人来说,因为不了解所以产生神秘感,神秘感就会让人感觉很难,也就是『难的不会』;当学会这项技术之后,知道什么什么技术能做到什么做不到,只是做起来花多少时间的问题而已,没啥难的,所以就是『会的不难』。
我特地针对初学者整理一套前端学习资料分享给大家,戳这里即可领取
[外链图片转存中…(img-RQUeY9bv-1712394040384)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
你要问前端开发难不难,我就得说计算机领域里常说的一句话,这句话就是『难的不会,会的不难』,对于不熟悉某领域技术的人来说,因为不了解所以产生神秘感,神秘感就会让人感觉很难,也就是『难的不会』;当学会这项技术之后,知道什么什么技术能做到什么做不到,只是做起来花多少时间的问题而已,没啥难的,所以就是『会的不难』。
我特地针对初学者整理一套前端学习资料分享给大家,戳这里即可领取
[外链图片转存中…(img-cVRGatVy-1712394040384)]