前端面试知识集锦

作者 Loaln 日期 2019-07-18
前端面试知识集锦

前言


该博客的目录是根据牛客网里面的“校招面试考点之前端篇”的版图设计的。

前端基础


1 HTTP,HTML,浏览器


1.1 HTTP

1.1.1 Promise

Promise对象用于异步操作,它表示一个尚未完成且预计在未来完成的异步操作。
Promise的真正强大之处在于它的多重链式调用,可以避免层层嵌套回调。

学习链接:初探Promise

1.2 HTML

1.3 浏览器

2 CSS


3 JavaScript


3.1 JavaScript基础

3.1.1 js基本数据类型

js中有六种数据类型,包括五种基本数据类型(Number,String,Boolean,Undefined,Null),和一种复杂数据类型(Object)。

参考:https://www.cnblogs.com/xuniannian/p/7452086.html

3.1.2 js数组

参考一:JavaScript Array 对象 | 菜鸟驿站
参考二:JavaScript Array 对象 | W3school

3.2 JavaScript进阶

4 Jquery


5 BootStrap


前端核心


1 服务端编程


2 Ajax


2.1 Ajax的工作原理

  1. 浏览器捕获用户的操作,并进行相应的处理,然后把用户的操作反馈到服务器。
  2. 服务器接收浏览器端传来的用户操作,然后再把用户操作分发到其他浏览器端。
  3. 浏览器接收由服务器端分发下来的用户动作,并进行相应的处理。

2.2 Ajax的编程步骤

  1. 创建XMLHttpRequest对象;
  2. 设置请求方式;
  3. 调用回调函数;
  4. 发送请求。

Ajax部分转载链接:总结 - Ajax工作原理和实现步骤

3 Axios

axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征:

  • 从浏览器中创建 XMLHttpRequest
  • 从 node.js 发出 http 请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求和响应数据
  • 取消请求
  • 自动转换JSON数据
  • 客户端支持防止 CSRF/XSRF

注:Vue 官方建议用 axios 代替 vue-resourse,所以在这里不做vue-resourse的探讨;

axios中文文档:https://blog.csdn.net/qq_36538012/article/details/81942990
axios-w3cschool-菜鸟教程:http://www.27900.com/axios
原文链接:axios是什么ajax和axios、fetch的区别

4 移动Web开发

前端进阶


1 前端工作流


1.1 前端工程化

  1. 代码规范:保证团队所有成员以同样的规范开发代码.
  2. 分支管理:不同的开发人员开发不同的功能或组件,按照统一的流程合并到主干。
  3. 模块管理:一方面,团队引用的模块应该是规范的;另一方面,必须保证这些模块可以正确地加入到最终编译好的包文件中。(以上两点可以总结为模块化或者组件化开发。)
  4. 自动化测试:为了保证和并进主干的代码达到质量标准,必须有测试,而且测试应该是自动化的,可以回归的。
  5. 构建:主干更新后,自动将代码编译为最终的目标格式,并且准备好各种静态资源。
  6. 部署:将构建好的代码部署到生产环境。

参考:https://www.jianshu.com/p/171996f5b12c
此处可以延长了解模块化和组件化。

2 流行框架


2.1 redux

2.2 Vue

2.3 React

2.4 angularjs

2.5 JQuery

3 模块化开发


4 Node.js


移动端开发


1 混合式应用开发


2 React


计算机基础


1 计算机网络


2 操作系统


3 数据库


算法与数据结构


1 树


2 递归


3 排序


4 查找


设计模式


1 结构型模式


2 创建型模式


3 行为型模式


智力题


场景题


文章作者:Loaln
文章链接:https://loaln.github.io/2019/07/18/interview-1/
版权声明:本文由Loaln原创,采用署名-非商业性使用-相同方式共享(CC BY-NC-SA)4.0 国际许可协议
转载请保留原文链接及作者。