面试范围
2020-08-03 10:28:03 16 举报
AI智能生成
前端应届生整理的面试范围
作者其他创作
大纲/内容
数据结构
经典算法
快速排序
冒泡排序
插入排序
归并排序
选择排序
链表和数组的区别
1、 数组是将元素在内存中连续存放。
链表中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起。
链表中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起。
2、 数组必须事先定义固定的长度,不能适应数据动态的增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;
链表动态地进行存储分配,可以适应数据动态地增减的情况。
链表动态地进行存储分配,可以适应数据动态地增减的情况。
3、(静态)数组从栈中分配空间,对于程序员方便快速,但是自由度小;
链表从堆中分配空间,自由度大但是申请管理比较麻烦。
链表从堆中分配空间,自由度大但是申请管理比较麻烦。
优点:
数组
随机访问性强,查找速度快,时间复杂度是0(1)
链表
任意位置插入元素和删除元素的速度快,时间复杂度是o(1)
内存利用率高,不会浪费内存
链表的空间大小不固定,可以动态拓展。
缺点:
数组
从头部删除、从头部插入的效率低,时间复杂度是o(n),因为需要相应的向前搬移和向后搬移。
内存利用率低,浪费内存
空间固定,不可以动态拓展
内存空间要求高,要求有足够连续的内存空间
链表
随机访问效率低,时间复杂度是o(1)
堆和栈的区别
栈
线性表
堆
二叉树
树
前序,中序,后序
HTML
块元素
行内块元素
行内元素
CSS
布局问题
居中问题
权重问题
flex布局
Javascript
instance of
原型
原型链
子主题
面向对象
深拷贝和浅拷贝
数据库
增删改查语句
左右内外连接
前端布局
三栏布局
网格布局
网络协议
HTTP状态码判断
TCP/IP协议
get和post的区别
浏览器
设计模式
单例模式
懒汉模式
就和懒加载一样,用到的时候才去创建单例对象
饿汉模式
一开始就创建单例对象
工厂模式
简单工厂模式
对每一个类进行封装,根据输入的类使用对应的类方法
抽象工厂模式
工厂方法模式
观察者模式
监听者模式
ES6语法
Promise
await/async
generous
es6新特性
数据解构
0 条评论
下一页