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. 多任务, 多线程, 多进程, 协程, 并发, 并行, 串行, 同步, 异步等概念的理解
web开发前端面试知识点目录整理的更多相关文章
- web前端面试知识点整理
一.HTML5新特性 本地存储 webStorage websocket webworkers新增地理位置等API对css3的支持canvas多媒体标签新增表单元素类型结构标签:header nav ...
- 移动端 Web 开发前端知识整理
文章来源: http://www.restran.net/2015/05/14/mobile-web-front-end-collections/ 最近整理的移动端 Web 开发前端知识,不定期更新. ...
- 知名互联网公司校招 Java 开发岗面试知识点解析
天之道,损有余而补不足,是故虚胜实,不足胜有余. 本文作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几 ...
- 关于web开发前端h5框架的选择
关于web开发前端h5框架的选择 看了很多移动版框架都是基于app混合式开发的,不是单独h5网站的基于h5开发的web框架从组件丰富度,兼容性,相关教程来说bootstrap还是最好的react和vu ...
- Java web 前端面试知识点总结
经过几家大厂面试,目前成功拿到唯品会offer,分享一下我的面试知识点总结: 耦合性:也称块间联系.指软件系统结构中各模块间相互联系紧密程度的一种度量.模块之间联系越紧密,其耦合性就越强,模块的独立性 ...
- 【干货分享】前端面试知识点锦集01(HTML篇)——附答案
一.HTML部分 1.浏览器页面有哪三层构成,分别是什么,作用是什么? 构成:结构层.表示层.行为层分别是:HTML.CSS.JavaScript作用:HTML实现页面结构,CSS完成页面的表现与风格 ...
- 【经验之谈】前端面试知识点总结03(JavaScript相关)——附答案
目录 三.JavaScript部分 1.谈谈你对Ajax的理解?(概念.特点.作用) 2.说说你对延迟对象deferred的理解? 3.什么是跨域,如何实现跨域访问? 4.为什么要使用模板引擎? 5. ...
- 【经验之谈】前端面试知识点总结(HTML相关)——附答案
目录 一.HTML部分 1.浏览器页面有哪三层构成,分别是什么,作用是什么? 2.HTML5的优点与缺点? 3.Doctype作用? 严格模式与混杂模式如何区分?它们有何意义? 4.HTML5有哪些新 ...
- [ Java面试题 ]Java 开发岗面试知识点解析
如背景中介绍,作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向. 在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Jav ...
随机推荐
- 201771010126 王燕《面向对象程序设计(Java)》第七周实验总结
实验七 继承附加实验 实验时间 2018-10-11 1.实验目的与要求 (1)进一步理解4个成员访问权限修饰符的用途: private--私有域或私有方法:只能在定义它的类中使用 public--公 ...
- python之面向对象深入探测
一 __doc__ 表示类的描述信息 #!/usr/bin/env python # -*- coding: utf-8 -*- class C: """ 这是个大美女 ...
- Django中Q搜索的简单应用
本节涉及: 1.Q搜索在前后端的设计 2.Django中Queryset对象的序列化(由后端扔给前端的数据必然会经过序列化) 3.前端动态地构造表格以便显示(动态创建DOM对象) 思路: 用户通过前端 ...
- .node 文件require时候显示Error: The specified module could not be found
参考文章:https://stackoverflow.com/questions/41253450/error-the-specified-module-could-not-be-found 第一:你 ...
- windows安装虚拟机(VMware)
一.安装虚拟机 1.打开安装包 2.接受协议 3.选择安装位置 4.按照提示下一步即可 5.完成安装 二.安装带有GUI的Redhat7系统 1.选择自定义安装 2.默认虚拟机硬件兼容 3.选择稍后安 ...
- thinkPHP3.2使用__ROOT__显示为空,为什么
在模板展示上传文件的时候用了__ROOT__,但是显示为空. 在网上找解决办法,改为__ROOT__/,然后就可以了
- 电子产品使用感受之--DJI OSMO Pocket VS OSMO MOBILE
2019.02.20 更新 打算出掉OSMO MOBILE,有需要的可以联系我啊 2019.1.26 更新 快要到春节了,购物中心的过年气氛很浓,网络上也是喜气洋洋. 今年天津有很多活动在春节期间举办 ...
- robot framework + win7 64 上的安装
1.安装 python 2.7 2.cmd 管理模式 python -m pip install --upgrade pip pip install robotframework==3. ...
- pip3更新后install package出现ImportError: cannot import name 'main'
linux下pip3更新后,install包出现main不能导入的情况: bear@bear:~/eclipse-workspace/Python-toolbox$ pip3 install pycr ...
- java 多线程争抢资源死锁
多线程争抢资源死锁的原理就是,A线程正在持有锁1却想获取锁2,B线程正在持有锁2却要获取锁1 代码如下: public class Main { static ReentrantLock lock1 ...