热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

前端面试知识点目录一览

本文是小编给大家搜集整理的有关前端面试知识点,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

写在前面:

金三银四, 又到了一年一度的跳槽季, 相信大家都在准备自己面试笔记, 我也针对自己工作中所掌握或了解的一些东西做了一个目录总结,方便自己复习; 详细内容会在之后一一对应地补充上去(有些在我的个人主页笔记中也有相关记录), 这里暂且放一个我的面试知识点目录; 大家有兴趣可以自己根据目录去扩展, 欢迎在评论下方指点一二, 看还有哪些没考虑到的, 互相交流一哈...

基本功考察

关于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. 多任务, 多线程, 多进程, 协程, 并发, 并行, 串行, 同步, 异步等概念的理解

总结

以上所述是小编给大家介绍的前端面试知识点目录一览,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!


推荐阅读
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • Vue基础一、什么是Vue1.1概念Vue(读音vjuː,类似于view)是一套用于构建用户界面的渐进式JavaScript框架,与其它大型框架不 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 本文介绍了如何使用jQuery和AJAX来实现动态更新两个div的方法。通过调用PHP文件并返回JSON字符串,可以将不同的文本分别插入到两个div中,从而实现页面的动态更新。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • Netty源代码分析服务器端启动ServerBootstrap初始化
    本文主要分析了Netty源代码中服务器端启动的过程,包括ServerBootstrap的初始化和相关参数的设置。通过分析NioEventLoopGroup、NioServerSocketChannel、ChannelOption.SO_BACKLOG等关键组件和选项的作用,深入理解Netty服务器端的启动过程。同时,还介绍了LoggingHandler的作用和使用方法,帮助读者更好地理解Netty源代码。 ... [详细]
  • Redis API
    安装启动最简启动命令行输入验证动态参数启动配置文件启动常用配置通用命令keysbdsize计算key的总数exists判断是否存在delkeyvalue删除指定的keyvalue成 ... [详细]
  • 本文整理了Java中java.lang.NoSuchMethodError.getMessage()方法的一些代码示例,展示了NoSuchMethodErr ... [详细]
  • 工作经验谈之-让百度地图API调用数据库内容 及详解
    这段时间,所在项目中要用到的一个模块,就是让数据库中的内容在百度地图上展现出来,如经纬度。主要实现以下几点功能:1.读取数据库中的经纬度值在百度上标注出来。2.点击标注弹出对应信息。3 ... [详细]
author-avatar
Eliza
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有