- 了解一些较冷僻的相关语法糖和api等
了解
-
未在开发中使用过,但写过demo
-
阅读过相关文档或者视频教程
-
可以用五分钟内向他人介绍这项技术的特点和应用场景
不了解
-
只是听过名字
-
只是大概的翻过文档
-
没有写过关于这项技术的代码
-
需要同时具备当前等级所有特性
-
高等级描述包含低等级描述特性
非常多的简历中写到的了解,其实是不了解,熟悉和掌握可能往往只是了解的水平,如果你写的精通,那么我就要带着电脑来面试你了。
手写代码:
可以借助emmet或者编辑器的提醒,非复制粘贴整段代码的方式书写代码。
记忆性考察:
需要背下来的内容,不可以借助搜索引擎。比如大多数关键字的拼写,对于超长关键词可以借助编辑器完成输入。 一些常用的知识点也会要求记忆性考察,比如盒模型和选择器规则,因为日常使用频度较高,理应记住。
索引性考察:
可以一次性在搜索引擎通过技术关键字找到解决方案。比如: 我们希望做一个特殊效果的轮播图,文字和背景图不同步滚动,背景图每次只是水平偏移一小截,文字则是整页的滚动 面对这个描述能够识别出搜索关键词为“视差滚动”
理解性考察:
要求能够通过代码的方式展现知识点以及和其他知识点的对比。 能够在某应用场景内设计出该技术的使用方案。 能够讲清其背后的数学原理或者逻辑关系。
===============================================================
正面
-
是否具有工作岗位所需要的最低能力
-
是否有过类似项目开发经历
-
是否掌握工作岗位所需技能
-
现场编码解决问题
-
正确使用搜索引擎
-
能够对之前项目中使用过的技术做出详细解释
-
是否对技术有热情
-
有在线可访问的代码
-
有技术博客
-
在技术社区积极回答问题
-
关注新技术,并且做过官方demo以外的案例
-
日常使用技术解决生活中的问题
-
成长空间
-
计算机专业背景
-
良好的算法基础
-
良好的表达能力
-
做过技术文章翻译
-
有至少一项5年以上的爱好
反面
-
对冷门知识点做记忆性考察
-
对过时知识点做解释型
-
以回答出问题的个数作为录用指标
-
面试应该像测视力一样,一开始从最容易的问题入手,逐步深入,直到无法正确回答。
-
如果面试中面试者没有回答对任何问题或者回答对了所有的问题,都不是一次成功的面试。
面试方式
-
了解职业经历,确认工作内容。
-
通过场景概括出技术能力范围。
-
面试前确认,模糊的地方在开始的时候确认。
-
参与了哪些项目,在项目中扮演什么角色,完成了哪些编码工作。
-
工作的流程是怎么样的,是否有规范(比如gitflow)工作的经验。
-
按照简历的技能列表挑选比较鲜明的做提问。
-
对于基础知识,比如HTTP协议,以记忆性考察为主;对于正则路由promise等技术如果不是近期项目使用过,但是- 声称掌握,可放宽为索引性考察。
-
我常常会进行一个额外的环节,就是让面试人在简历中圈出真实技能,排除注水内容,然后只对圈出内容进行提问。因为在我看来,环境所迫带来的简历注水也不该等同为面试人的品质问题,另一方面,是否能够正确评价自己是程序员的一项重要能力。
我们公司使用的技术栈相关api问答,以及根据情况来询问更深层次的语法和用法等
大约5~10个问题,主要引导面试者讲述技术的原理,以及技术的使用形式,以及使用过程中遇到的问题(参看附录)。
比如面试者声称熟悉AJAX,我可能会问他AJAX使用了js的什么对象(原理),什么是异步函数(使用形式),跨域问题有没有遇到过(问题),JSONP为什么能解决跨域问题(原理),jsonp返回的内容和json有什么不同(使用),jsonp使用遇到过哪些局限性(问题)…
按照这个层次递进深入,直到面试者回答吃力或者无法回答。
一般不打断面试者的叙述,哪怕说的是错误的,也会在整段讲完之后再进行纠正,然后开始下一个话题。
做实际编码的测试,主要考察编程能力。 选用基本的js题目做测试,比如
在聚会中常玩数七的游戏,七的倍数和带有七的数字都不能说,比如14,27,28。请找出1~100的不能说的数字。
考察的点有:
-
技术栈是否契合
-
技术深度
-
技术的基础了解程度
-
遇到问题的解题思路
=============================================================
内容部分知识举例说明了一些常见的技能列表,实际上会根据面试者的简历情况设置问题。
记忆性内容作为底线要求,如果不能达标,意味着基础不牢,在日后的工作中会在很多基本的问题上搞不清。
编码环节主要做搜索性考察,因为这是工作的常态形式。使用搜索引擎的能力决定了程序员的日常水平。
理解性考察对应的是知识点的理解和应用,是否能够把知识点运用到开发中,并且对日常开发中遇到的问题有自己的思考,反应的是面试者的潜力和发展。
================================================================
1. 关于Html
-
html语义化标签的理解; 结构化的理解; 能否写出简洁的html结构; SEO优化
-
h5中新增的属性; 如自定义属性data, 类名className等, 新增表单元素, 拖拽Drag
-
h5中新增的API, 修改的API, 废弃的API 稍作了解 (离线存储, audio, video)
2. 关于CSS
-
CSS选择器( 三大特性 )
-
BFC机制
-
盒模型
-
CSS模块化开发(封装); SCSS和LESS的使用
-
屏幕适配 以及 页面自适应
-
CSS3中新增的选择器
-
CSS3中新增的属性, transform trasition animation等…
3. 关于布局
-
标准文档流(padding + margin + 负margin) + 浮动float + 定位
-
百分比布局(流式布局): px单位 用 %num代替, 占父级元素的百分比
-
flex弹性布局: 主轴 辅助轴的几个属性
-
grid栅格布局: 使用框架中的类名来替代: 本质上还是百分比布局
4. 关于JS基础
-
变量数据类型及检测: 基本 + 引用
-
运算符: 算术 + 条件 + 逻辑 + 位 + 短路, 隐式转换等
-
条件, 循环, 异常处理 if switch(){case xxx:} try catch finally throw
-
函数定义, 调用方式(apply, call, 直接调用), 传参: 实参给形参赋值
-
字符串, 数组, 对象常用API,
-
正则表达式
5. 关于JS高级
-
作用域, 作用域链, 闭包
-
原型, 原型链, 继承
-
函数上下文, this指向
-
js的运行机制, 事件队列和循环
-
同步, 异步编程
6. 关于网络协议
-
HTTP协议
-
cookie, session, token
7. 关于ES6语法
-
字符串, 数组, 对象 扩展的api
-
变量扩展: let const 解构赋值 块级作用域
-
函数扩展: 箭头函数 默认参数, rest参数
-
展开运算符, 模板字符串
-
set 和 map数据结构
-
迭代器和生成器函数 next 和 yield的理解
-
proxy对象 属性代理器: 属性的读取(get)和设置(set)相关操作
-
promise对象, 异步编程的解决方案
-
async + await: 异步编程的终极方案 promise + generator的语法糖
-
class语法 构造函数的语法糖
-
模块化编程 export + import 的 导出和导入
9. VUE基础
-
基本指令
-
实例的属性和方法
-
实例的生命周期
-
组件基础: 创建,注册,添加属性方法,套用等…
-
组件通信传值 父子, 兄弟, 跨级
-
插槽slot等…
10. VUE高级
-
vue-router: 搭建SPA
-
路由,组件的配置
-
路由间的传值
-
路由跳转
-
路由的导航守卫
-
记住在router.js 和 组件页面中的使用方式
-
vuex: 状态管理: 数据仓库store
-
实例化仓库的5大属性的使用
state
, getters
, mutations
, actions
, modules
-
辅助函数mapState等…, 仓库中计算属性的映射, 方便操作
-
记住在 store.js 和 组件中 使用方式
11. VUE深入, 源码阅读
-
数据响应式原理
-
virtual dom
-
diff 算法
-
nextTick等等…
-
vue2和vue3的数据绑定
-
vue3的componest API
-
vite的用法
==============================================================
掌握原生的DOM操作
增删查改
熟悉node和element对象
事件关于事件的机制
-
冒泡和捕获
-
事件委托
-
自定义事件
-
Event对象
-
面向对象
了解面向对象的思想,能够以面向对象的思想构建应用。比如封装一个日历组件,设计对象所需的属性值和方法。
-
new方法
-
继承,派生
-
原型和原型链
函数
-
熟悉Array,String等的方法
-
call和apply方法的使用
-
链式调用
-
this
-
掌握gulp
-
索引行考察手写gulp任务
-
掌握模块化
-
CMD标准
-
commonjs
-
ES6模块
-
babel如何使用
-
webpack打包方案
-
异步加载
-
打包多个文件
- 掌握webpack
-
阅读webpack文档
-
理解配置文件结构
-
合并,注入生效代码部分
-
热更新
- CSS
命名策略
嵌套
变量
函数
了解nodeJS对于前端岗位,nodejs的使用主要集中在自动化和搭建简单的数据服务器两个方面。
-
是否上传过npm包
-
断点调试法
-
express
-
插件
-
中间件
-
路由原理
-
HTTP协议
-
数据库查询
-
HTML模板(ejs,pug)
了解ES6
-
promise
-
Generator
-
花括号作用域
-
class
-
数组遍历(ES5)
-
严格模式(ES5)
-
模块系统
通用
-
MVC
-
双向数据绑定
-
单项数据流
-
组件化
-
生命期
-
路由
前端模板
-
横向对比,所用模板的优点
-
至少使用过两种以上的前端模板
- 项目能力
-
vue-cli脚手架搭建和功能配置 vue.config.js
-
vite的使用和搭建等
-
webpack的常用配置
-
项目构建 打包
- 熟悉各类框架的文档…
-
UI框架: Bootstrap, MUI, Element-ui等
-
常用的插件整理, 整理一个自己插件库, 封装自己的方法库,组件库
- 常用的工具熟练度
- PC端和移动端开发注意事项和兼容性
-
经验总结: 如何快速确定项目的技术选型
-
坑点总结
-
项目遇到坑坑坑!!!
-
如何处理,如何提出issue并且合作处理
-
git或者svn等使用情况
-
项目中的性能优化记录 ( 都是细节点…多记录 )
-
需求文档的理解, 可以结合 项目流程图, UML图
-
问题解决能力: (bug定位调试, 查找文档, 寻求他人…)
-
平常有记录的习惯吗。
-
项目分类; 各类文件整理,分类
-
各类功能封装
-
组件和功能模块的抽离, 解耦, 复用
- 面向对象的编程思想
-
类的抽象
-
对象的封装, 继承
-
为了更好的去管理数据, 分类数据 实现高内聚, 低
- 设计模式
-
设计模式感觉也是
-
将面向对象思想 再度抽象成现实中 某些特定模式
- 数据结构和算法
-
学习常用的排序搜索算法, 顺序表,链表,栈,队列,树,堆 结构等等…
-
考验你的 抽象思维 和 数学功底了
-
将现实需求 抽象成 计算机代码 的思维能力
- 学习能力
-
持续学习的态度–博客, 笔记记录
-
技术论坛活跃度高, 问答多
-
GitHub开源项目参与
- 了解一门后端语言
-
node.js, python, php等…
-
数据库mysql,redis,mongodb. sql的操作语句, mongo的操作语句, redis操作语句
-
node + express 搭建本地服务等
-
python + django + request + scrapy
- 系统编程
-
Linux命令行操作, 系统文件管理
-
多任务, 多线程, 多进程, 协程, 并发, 并行, 串行, 同步, 异步等概念的理解
====================================================================
为了帮助大家更好温习重点知识、更高效的准备面试,特别整理了《95页前端学习笔记》电子稿文件。
主要内容包括html,css,html5,css3,JavaScript,正则表达式,函数,BOM,DOM,jQuery,AJAX,vue 等等。需要可以 点击此处 领取完整版【95页】前端模块笔记
html5/css3
-
HTML5 的优势
-
HTML5 废弃元素
-
HTML5 新增元素
-
HTML5 表单相关元素和属性
-
CSS3 新增选择器
-
CSS3 新增属性
-
新增变形动画属性
-
3D变形属性
-
CSS3 的过渡属性
-
CSS3 的动画属性
-
CSS3 新增多列属性
-
CSS3新增单位
-
弹性盒模型
JavaScript
-
JavaScript基础
-
JavaScript数据类型
-
算术运算
-
强制转换
-
赋值运算
-
关系运算
-
逻辑运算
-
三元运算
-
分支循环
-
switch
-
while
-
do-while
-
for
-
break和continue
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
更多面试题
**《350页前端校招面试题精编解析大全》**内容大纲主要包括 HTML,CSS,前端基础,前端核心,前端进阶,移动端开发,计算机基础,算法与数据结构,项目,职业发展等等
分支循环
-
switch
-
while
-
do-while
-
for
-
break和continue
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-W7c9tKLm-1712766847144)]
[外链图片转存中…(img-8YMq9qMB-1712766847144)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
[外链图片转存中…(img-ly2U1NYJ-1712766847145)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
更多面试题
**《350页前端校招面试题精编解析大全》**内容大纲主要包括 HTML,CSS,前端基础,前端核心,前端进阶,移动端开发,计算机基础,算法与数据结构,项目,职业发展等等
[外链图片转存中…(img-2JMqG4Jq-1712766847145)]