了解
-
未在开发中使用过,但写过demo
-
阅读过相关文档或者视频教程
-
可以用五分钟内向他人介绍这项技术的特点和应用场景
不了解
-
只是听过名字
-
只是大概的翻过文档
-
没有写过关于这项技术的代码
-
需要同时具备当前等级所有特性
-
高等级描述包含低等级描述特性
手写代码
可以借助emmet或者编辑器的提醒,非复制粘贴整段代码的方式书写代码。
记忆性考察:
需要背下来的内容,不可以借助搜索引擎。比如大多数关键字的拼写,对于超长关键词可以借助编辑器完成输入。 一些常用的知识点也会要求记忆性考察,比如盒模型和选择器规则,因为日常使用频度较高,理应记住。
索引性考察:
可以一次性在搜索引擎通过技术关键字找到解决方案。比如: 我们希望做一个特殊效果的轮播图,文字和背景图不同步滚动,背景图每次只是水平偏移一小截,文字则是整页的滚动 面对这个描述能够识别出搜索关键词为“视差滚动”
理解性考察:
要求能够通过代码的方式展现知识点以及和其他知识点的对比。 能够在某应用场景内设计出该技术的使用方案。 能够讲清其背后的数学原理或者逻辑关系。
正面
-
是否具有工作岗位所需要的最低能力
-
是否有过类似项目开发经历
-
是否掌握工作岗位所需技能
-
现场编码解决问题
-
正确使用搜索引擎
-
能够对之前项目中使用过的技术做出详细解释
-
是否对技术有热情
-
有在线可访问的代码
-
有技术博客
-
在技术社区积极回答问题
-
关注新技术,并且做过官方demo以外的案例
-
日常使用技术解决生活中的问题
-
成长空间
-
计算机专业背景
-
良好的算法基础
-
良好的表达能力
-
做过技术文章翻译
-
有至少一项5年以上的爱好
反面
-
对冷门知识点做记忆性考察
-
对过时知识点做解释型
-
以回答出问题的个数作为录用指标
-
面试应该像测视力一样,一开始从最容易的问题入手,逐步深入,直到无法正确回答。
-
如果面试中面试者没有回答对任何问题或者回答对了所有的问题,都不是一次成功的面试。
-
了解职业经历,确认工作内容。
-
通过场景概括出技术能力范围。
-
面试前确认,模糊的地方在开始的时候确认。
-
参与了哪些项目,在项目中扮演什么角色,完成了哪些编码工作。
-
工作的流程是怎么样的,是否有规范(比如gitflow)工作的经验。
-
按照简历的技能列表挑选比较鲜明的做提问。
-
对于基础知识,比如HTTP协议,以记忆性考察为主;对于正则路由promise等技术如果不是近期项目使用过,但是声称掌握,可放宽为索引性考察。
总结:
内容部分知识举例说明了一些常见的技能列表,实际上会根据面试者的简历情况设置问题。
记忆性内容作为底线要求,如果不能达标,意味着基础不牢,在日后的工作中会在很多基本的问题上搞不清。
编码环节主要做搜索性考察,因为这是工作的常态形式。使用搜索引擎的能力决定了程序员的日常水平。
理解性考察对应的是知识点的理解和应用,是否能够把知识点运用到开发中,并且对日常开发中遇到的问题有自己的思考,反应的是面试者的潜力和发展。
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 的 导出和导入
8.VUE基础
-
基本指令
-
实例的属性和方法
-
实例的生命周期
-
组件基础: 创建,注册,添加属性方法,套用等…
-
组件通信传值 父子, 兄弟, 跨级
-
插槽slot等…
9. VUE高级
-
vue-router: 搭建SPA
-
路由,组件的配置
-
路由间的传值
-
路由跳转
-
路由的导航守卫
-
记住在router.js 和 组件页面中的使用方式
-
vuex: 状态管理: 数据仓库store
-
实例化仓库的5大属性的使用
state
, getters
, mutations
, actions
, modules
-
辅助函数mapState等…, 仓库中计算属性的映射, 方便操作
-
记住在 store.js 和 组件中 使用方式
10.VUE深入, 源码阅读
-
数据响应式原理
-
virtual dom
-
diff 算法
-
nextTick等等…
-
vue2和vue3的数据绑定
-
vue3的componest API
-
vite的用法
掌握原生的DOM操作
增删查改
熟悉node和element对象
事件关于事件的机制
-
冒泡和捕获
-
事件委托
-
自定义事件
-
Event对象
-
面向对象
了解面向对象的思想,能够以面向对象的思想构建应用。比如封装一个日历组件,设计对象所需的属性值和方法。
-
new方法
-
继承,派生
-
原型和原型链
函数
-
熟悉Array,String等的方法
-
call和apply方法的使用
-
链式调用
-
this
1.掌握gulp
2.索引行考察手写gulp任务
3.掌握模块化
-
CMD标准
-
commonjs
-
ES6模块
-
babel如何使用
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
结尾
学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。
0y-1713426989174)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
[外链图片转存中…(img-vOl8I7FR-1713426989174)]
结尾
学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。