web开发前端面试知识点目录整理
web开发前端面试知识点目录整理
基本功考察
-
关于Html
1. html语义化标签的理解; 结构化的理解; 能否写出简洁的html结构; SEO优化 2. h5中新增的属性; 如自定义属性data, 类名className等, 新增表单元素, 拖拽Drag 3. h5中新增的API, 修改的API, 废弃的API 稍作了解 (离线存储, audio, video)
-
关于CSS
1. CSS选择器( 三大特性 ) 2. BFC机制 3. 盒模型 4. CSS模块化开发(封装); SCSS和LESS的使用 5. 屏幕适配 以及 页面自适应 6. CSS3中新增的选择器 7. CSS3中新增的属性, transform trasition animation等...
-
关于布局
1. 标准文档流(padding + margin + 负margin) + 浮动float + 定位 2. 百分比布局(流式布局): px单位 用 %num代替, 占父级元素的百分比 3. flex弹性布局: 主轴 辅助轴的几个属性 4. grid栅格布局: 使用框架中的类名来替代: 本质上还是百分比布局
-
关于JS基础
1. 变量数据类型及检测: 基本 + 引用 2. 运算符: 算术 + 条件 + 逻辑 + 位 + 短路, 隐式转换等 3. 条件, 循环, 异常处理 if switch(){case xxx:} try catch finally throw 4. 函数定义, 调用方式(apply, call, 直接调用), 传参: 实参给形参赋值 5. 字符串, 数组, 对象常用API, 6. 正则表达式
-
关于JS高级
1. 作用域, 作用域链, 闭包 2. 原型, 原型链, 继承 3. 函数上下文, this指向 4. js的运行机制, 事件队列和循环 5. Ajax原理, axios库 6. 同步, 异步编程 7. jQuery源码学习
-
关于浏览器
1. 浏览器的构成和运行机制, 2. 浏览器内核 3. 浏览器交互: BOM和DOM相关webApi, 监听事件 4. 浏览器缓存机制 5. 浏览器的渲染原理 6. 浏览器的安全性: 跨域 和 攻击
-
关于网络协议
1. HTTP协议 2. cookie, session, token
-
关于ES6语法
1. 字符串, 数组, 对象 扩展的api 2. 变量扩展: let const 解构赋值 块级作用域 3. 函数扩展: 箭头函数 默认参数, rest参数 4. 展开运算符, 模板字符串 5. set 和 map数据结构 6. 迭代器和生成器函数 next 和 yield的理解 7. proxy对象 属性代理器: 属性的读取(get)和设置(set)相关操作 8. promise对象, 异步编程的解决方案 9. async + await: 异步编程的终极方案 promise + generator的语法糖 10. class语法 构造函数的语法糖 11. 模块化编程 export + import 的 导出和导入
-
VUE基础
1. 基本指令 2. 实例的 属性 和 方法 3. 实例的生命周期 4. 组件基础: 创建,注册,添加属性方法,套用等... 5. 组件通信传值 父子, 兄弟, 跨级 6. 插槽slot 等...
-
VUE高级
1. vue-router: 搭建SPA 路由,组件的配置 路由间的传值 路由跳转 路由的导航守卫 记住在router.js 和 组件页面中的使用方式 2. vuex: 状态管理: 数据仓库store 实例化仓库的5大属性的使用 state, getters, mutations, actions, modules 辅助函数mapState等..., 仓库中计算属性的映射, 方便操作 记住在 store.js 和 组件中 使用方式
-
VUE深入, 源码阅读
1. 数据响应式原理 2. virtual dom 3. diff 算法 4. nextTick等等...
工程能力考察:
-
项目能力
1. vue-cli脚手架搭建 和 功能配置 vue.config.js 2. webpack的常用配置 3. 项目构建 打包 4. 熟悉各类框架的文档... 5. UI框架: Bootstrap, MUI, Element-ui等 6. 常用的插件整理, 整理一个自己插件库, 封装自己的方法库,组件库 7. 常用的工具熟练度 8. PC端 和 移动端开发注意事项 9. 经验总结: 快速确定项目的技术选型 10. 坑点总结: 项目遇到坑坑坑!!! 11. 项目中的性能优化记录 ( 都是细节点...多记录 ) 12. 需求文档的理解, 可以结合 项目流程图, UML图 13. 问题解决能力: (bug定位调试, 查找文档, 寻求他人...) 14. 记录习惯养成
-
模块化, 组件化开发能力
1. 项目分类; 各类文件整理,分类 2. 各类功能封装 3. 组件和功能模块的抽离, 解耦, 复用
内功考察:
-
面向对象的编程思想
1. 类的抽象 2. 对象的封装, 继承 为了更好的去管理数据, 分类数据 实现高内聚, 低耦合
-
设计模式
设计模式感觉也是 将面向对象思想 再度抽象成现实中 某些特定模式
-
数据结构和算法
学习常用的排序搜索算法, 顺序表,链表,栈,队列,树,堆 结构等等... 考验你的 抽象思维 和 数学功底了 将现实需求 抽象成 计算机代码 的思维能力
附加技能考察:
1. 学习能力
1. 持续学习的态度--博客, 笔记记录
2. 技术论坛活跃度高, 问答多
3. GitHub开源项目参与
2. 了解一门后端语言
1. python, node.js, php等...
2. 数据库mysql,redis,mongodb. sql的操作语句, mongo的操作语句, redis操作语句
3. node + express 搭建本地服务等
4. python + django + request + scrapy
3. 系统编程
1. Linux命令行操作, 系统文件管理
2. 多任务, 多线程, 多进程, 协程, 并发, 并行, 串行, 同步, 异步等概念的理解
大自然,飘然的风,QQ群: python技术交流群:453879716,人工智能深度学习群:251088643
golang技术交流群:316397059,vuejs技术交流群:458915921 囤币一族:621258209,有兴趣的可以加入
微信公众号: 心禅道(xinchandao)投资论道
golang技术交流群:316397059,vuejs技术交流群:458915921 囤币一族:621258209,有兴趣的可以加入
微信公众号: 心禅道(xinchandao)投资论道