面试题汇总
Posted leftjs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试题汇总相关的知识,希望对你有一定的参考价值。
html
html5的新特性
新标签新特性
meta viewport 移动端适配
语义化
input和textarea的区别
用一个div模拟textarea的实现
画布濡染有了解吗
CSS
css3新特性
css选择器
float和position的区别
为什么css样式初始化,目的是为了什么?如何进行初始化?
display哪些取值
position属性有哪些值,分别有什么含义
bfc 清除浮动
rem布局的优缺点
css单位
层叠上下文
盒模型
相邻的两个inline-block节点为什么会出现间隔,该如何解决
css预处理,后处理
flex
css弹性布局,那些地方用到过
清除浮动的方法
常见布局的方法
实现一个两边宽度固定中间自适应的三列布局,圣杯布局,双飞燕
flex布局有没有了解
定宽定高,如何垂直居中,那不定宽定高呢?
垂直水平居中的方式
实现三栏布局,中间自适应有几种方法
行内元素和块级元素有哪些,img属于什么元素
margin坍塌
BFC原理
写一下清除浮动
写一下不知道宽高元素垂直水平居中方法
CSS中对溢出的处理
CSS选择器有哪些,优先级呢?
实现一个两列等高布局,思路
清除浮动的方法
如何让一个元素消失
重排和重绘
block元素和inline元素的区别
position有哪些,特性
css选择器有哪些
清除浮动
盒子模型
border-box和content-box
css伪元素有哪些
浮动元素有没有什么特性
清除浮动的所有方法
实现css动画有哪些
rem,px,em的区别
HTML+CSS
boostrap的底层原理
如果弹出的菜单位置过于贴近边框,如何调整这个元素的位置
画三角形
CSS实现宽度自适应100%,宽高16:9的比例的矩形
响应式布局
常见页面布局
现在有一大段文字,如何在页面中设置一个窗口滚动播出这段文件(轮播),轮播图如何解决卡顿问题,有手写过轮播图你,原理是什么
CSS3哪些用的比较多
CSS动画会吗,怎么样用CSS实现一个loading效果
flex弹性布局裂解,移动端适配方案有哪些
流式布局
css性能
盒子米线
给你一个DOM元素,用CSS的方式让他呈现两个的想过,只有一个DOM元素
javascript
讲讲JS的语言特性吗
window的onload事件和domcontentloaded
原型/原型链/构造函数/实例/继承
有几种方式可以实现继承
用原型实现继承有什么缺点,怎么解决
arguments
数据类型判断
作用域链、闭包、作用域
Ajax的原生写法
对象深拷贝、浅拷贝
图片懒加载、预加载
实现页面加载进度条
this关键字
函数式编程
手动实现parseInt
为什么会有同源策略
怎么判断两个对象是否相等
事件模型
事件委托、代理
如何让事件先冒泡后捕获
js各运算符的执行顺序
for...in迭代和for...of有什么区别
如何获取当前日期
函数柯里化
call apply区别,原生实现bind
call,apply,bind 三者用法和区别:角度可为参数、绑定规则(显示绑定和强绑定),运行效率、运行情况。
async/await
立即执行函数和使用场景
设计模式(要求说出如何实现,应用,优缺点)/单例模式实现
iframe的缺点有哪些
数组问题
数组去重
数组常用方法
查找数组重复项
扁平化数组
按数组中各项和特定值差值排序
BOM属性对象方法
服务端渲染
垃圾回收机制
eventloop
进程和线程
任务队列
js的继承
call和apply的区别
ajax是同步还是异步,怎么样实现同步
ajax实现过程
闭包的作用理解,以及那些地方用过闭包,以及闭包的缺点,如何实现闭包
cookie和webstrage的区别以及cookie怎么样使用?原生cookie怎么样封装
js的this理解, 如何改变this的指向
cookie有什么限制
js的事件机制
settimeout的机制
内存泄露的排除定位和解决方法
垃圾回收机制
websocket实现原理
定时器setTimeout的运行机制
事件循环机制 eventloop
异步es5 es6 es7分别怎么样解决
js的继承的实现方法
new生成了一个对象的过程(核心return this)
请简单说明什么是事件冒泡和事件捕获以及事件委托
请简述一下js原型链
手写一下深拷贝,答案提示:JSON.parse(JSON.stringify(obj)) 用JSON实现深拷贝
== 和 === 的却别,,typeof null的结果是什么
同步和异步的执行顺序
get和post的请求区别
一个有序的数组如何进行查找操作
手写一个快速排序
事件委托理解,原理,好处,应用场景
尾递归问题
cookie和session的区别和联系
遍历数组处理用for循环还有什么方法吗
var的变量提升底层原理是什么?
event loop讲讲
JS的回收机制说一下
数组常用的方法有哪些
websock的底层原理讲讲
proto 和prototype分别是什么
原型链原理
在原型链上Object再往上是什么
new和Object.create的区别
哪种情况下__proto__和prototype的指向是同一个?
typeof array null undefined NaN分别是什么
把undefined和null转成Number分别是什么
instanceOf和constructor的区别
原型链断裂了以后的结果是什么
写一下节点的增删改
如何获取元素的父节点和兄弟节点
JS如何获得用户来源(navigator.userAgent)
原型链说一下
谈谈对原型链继承
JS设计模式有哪些
说说bind,apply,call的区别以及bind的实现
JS的全排列
js设计模式知道哪些,单例详细说
函数式编程-柯里化JS事件流
作用域链
递归
js事件流
this
闭包的概念,平时如何实现
事件冒泡,事件捕获,事件委托的原理,如何实现委托,事件,委托的有点是什么,事件监听
谈谈JS的异步机制
Ajax如何实现的
Ajax返回204算是成功吗
栈和队列有什么区别,具体的应用场景
hashmap原理
last-modifined,etg怎么样判断
js事件模型,捕获和冒泡,阻止冒泡
preventDefault和stopPropagation的区别
对JS单线程的理解
页面共享数据的方法有哪些
amd,cmd规范
js如何实现一个栈
哈希表是怎么样的结构
说说操作系统的内存管理
怎么样实现一个服务器
如何删除一个dom节点
typeof去判断数据类型返回值有哪些
说说事件代理利用的是什么原理
阻止冒泡的函数是什么
cookie有什么特征
加入访问A.com存进了一个cookie,在另外一个页面用ajax向A的域名发请求会携带cookie吗
cookie的其他解决方案
localStorage存储数据格式是什么
怎么样把一个数组存进localSorage
storage有哪些存储方法
表单提交和ajax的区别
calc属性
事件监听
情景题:给你一个ul列表,找到点击的li对象,把点击到的对象的字符串翻转,讲出思路并且写出代码
只能用获取到对象的属性
给你一颗树,如何找到其公共的父节点
JavaScript实例
如何判断是否为数组?(instanceOf和constructor可以,但是有原型链断裂的风险,Object.toString.call()最稳定)
如何快速让字符串变成已千为精度的数字
电脑里有很多大小不一样的照片,我现在要复制到U盘上,但是U盘容量固定,让你写一个程序,挑选一组照片,让U盘的剩余空间最小。
如何去除数组中的重复的项?
给你一个乱序数组,你怎么样排序
登录原理
你说到typeof,能不能加一个限制条件typeof只能判断是object,可以判断一下是否拥有数组的方法
如何判断一个数组
让我设计一个页面,选择男或女,搜索出相对性
你的聊天室项目,如果数据传输出错了怎么办?
写一个方法提取一下search里面的参数
写一个API实现insertAfter
写一个API,实现jQuery的$(selector)选择器,要求兼容IE6
用JS模拟一个双向链表
编程题:给出一个字符串(“obj.a”),返回对象属性obj.a,类似eval的效果
计算50个人至少有2个生日相同的概率
JS的如何实现倒计时,为什么不准,校正方式
实现一个ajax,兼容
如何有一个很多的列表,像头条的新闻列表,用户看得多了,列表越来越大,怎么样处理,思考一下
如果有这样的场景:一个模块A作为输出,BCD等扩展模块可以在A做更改后展示A的原来内容或者驾驶CSS后的内容,想想思路
一个数组只有1和2,排序,1在前面,2在后面
一个数组,有很多数字存在2次,只有一个数字寸一次,怎么样找出这个数字
关于iframe内部和外部变量的读取是如何的
前端防连击throttle和debounce
给定两个文本文件,找出他们中相同的行都有哪些
假设两台电脑之间同步画板如何实现
假设一个object A里面的值n为1,怎么样知道n改变了,有事件绑定吗
给数字加千位分隔符
ES6
ES6用过吗,新增了那些东西,你用到过什么
const和let的区别,可以改变const定义对象某个属性吗
箭头函数,箭头函数的特点
声明 let、const
解构赋值
声明类与继承:class、extend
Promise的使用与实现
generator(异步编程、yield、next()、await 、async)
箭头函数this指向问题、拓展运算符
map和set有没有用过,如何实现一个数组去重,map数据结构有什么优点?
ES6怎么编译成ES5,css-loader原理,过程
ES6转成ES5的常见例子
使用es5实现es6的class
es6有了解吗,请简单说一下promise机制,异步的承诺机制,顺势说一下解决回调地狱的问题
如果让你实现一个promise怎么样实现
promise的状态有哪些
let和var的区别,let的产生背景?
ES6新特性说说
ES6的代理是什么
let和var的区别讲讲
箭头函数和ES5和this的指向区别讲讲
es6和es5的区别
es5如何转为es5-babel
es5和es6:let,const打包后如何变-块级作用域
promise如何从then转为catch的
promise函数
es6模块新特性
es6的特性以及这些特性如何实现的
promise是如何解析异步操作的
如果给a,b,c,d四个时间,执行时间分别为1,2,3,4,怎么样做才能在abc都在执行完后再执行d,除了使用promise还能使用什么方法
ES6 generator async/await了解吗
promise的两个方法,具体实现
es6用的多的有哪些
箭头函数
symbol
TypeScript
typescript和es6的区别
浏览器相关
七层网络协议,每层干嘛的
线程和进程的区别
TCP和UDP的区别
HTTP1.0和HTTP1.1相关我让你听
HTTP1 SPDY HTTP2的对比
简单说一下ICP UDP
Socks5代理是如何实现的,读过协议吗
http状态码,307是什么,401和403的区别
200和304实现缓存的区别
常见的请求方式
tcp和http的区别
强缓存和协商缓存知道吗
为什么HTTP1.1中使用Cache-Control代替Expires
HTTP1.1中Etg和f-None-Match哪个权重比较大
HTTP请求头,响应头里面有哪些
浏览器内存泄露,闭包内存泄露如何解决
输入url到展示页面过程发生了什么?
JS如何计算浏览器的渲染时间的
浏览器是如何实现通过你的代码去找到指定的元素的
浏览器的缓存
浏览器缓存机制
强缓存,协商缓存什么时候用哪个
前端缓存
get和post的区别
301和302的区别
如何避免301跳转https
tcp建立连接三次握手的区别
浏览器如何处理未知的的tab
操作系统进程和线程的区别
TCP/IP体系结构以及每层的主要协议
TCP的三次握手
HTTP各版本比较
线程的哪些资源共享,哪些资源不共享
设计模式有哪些
发送请求有哪些?
https的请求过程
HTTP2.0的优势
HTTP/2有什么新特性
https怎么样校验证书有效性
为什么浏览器会产生同源策略
跨域方法以及怎么样实现的与原理
DNS
对跨域了解吗。jsonp的限制
跨域方法说一下
jsonp的原理是什么,处理script标签还可以通过什么实现?(静态资源标签)
什么情况算是跨域,如何解决跨域问题
了解TCP吗,数据结构简单介绍一下以及你的想法
浏览器那些地方用到了异步
应用层协议有哪些
TCP和UDP
有哪些状态码
tcp ip分成
重绘与回流
-
重绘(repaint): 当元素样式的改变不影响布局时,浏览器将使用重绘对元素进行更新,此时由于只需要UI层面的重新像素绘制,因此 损耗较少
-
回流(reflow): 当元素的尺寸、结构或触发某些属性时,浏览器会重新渲染页面,称为回流。此时,浏览器需要重新经过计算,计算后还需要重新页面布局,因此是较重的操作。会触发回流的操作:
* 页面初次渲染
* 浏览器窗口大小改变
* 元素尺寸、位置、内容发生改变
* 元素字体大小变化
* 添加或者删除可见的 dom 元素
* 激活 CSS 伪类(例如::hover)
* 查询某些属性或调用某些方法
* clientWidth、clientHeight、clientTop、clientLeft
* offsetWidth、offsetHeight、offsetTop、offsetLeft
* scrollWidth、scrollHeight、scrollTop、scrollLeft
* getComputedStyle()
* getBoundingClientRect()
* scrollTo()
回流必定触发重绘,重绘不一定触发回流。重绘的开销较小,回流的代价较高。
防抖与节流
cookies、session、sessionStorage、localStorage
浏览器内核
常见http状态码
缓存
200 From cache和200 ok
400,401,403状态码分别代表什么
401状态码
浏览器缓存
http状态码301 302的区别,304是啥
缓存机制,协商协议
cookie, session, token
前端持久化的方式、区别
DNS是怎么解析的
cdn
计算机网络的相关协议
http/https/http2.0
get post区别
ajax、 axios库
tcp三次握手,四次挥手流程
跨域
前端安全XSS、CSRF
websocket
Http请求中的keep-alive有了解吗
网络分层
即时通信,除了Ajax和websocket
模块化,commonJS,es6,cmd,amd
Vue
vue react jquery比较,有测试过性能吗
vue解决了什么问题
vue双向绑定原理,vue-loader做了什么
vue的生命周期
vuex的状态管理的原理是什么
MVVM的理解
vue和react的区别
React的特性
vue的原理
react和vue的区别,你开发如何选择技术栈
react的virtual DOM和Diff算法
React的生命周期
Vue的生命周期
如何实现一个自定义组件,不同组件之间如何通信的?
nextTick
生命周期
虚拟dom的原理
双向绑定的原理?数据劫持?
组件通信
父->子
子->父
非父子组件
axios有什么特点
Proxy 相比于 defineProperty 的优势
watch computed区别
virtual dom 原理实现
vue-router(hash, HTML5 新增的 pushState
单页应用,如何实现其路由功能---路由原理
前端路由会不会发请求
vue-router如何做用户登录权限等
你在项目中怎么实现路由的嵌套
vuex的理解
vue的理解
vue的双向数据绑定的原理
vue怎么样实现数组绑定
redux原理讲讲
React虚拟DOM,生命周期
react父子通信
react生命周期
react通信机制
redux
观察者模式如何实现
requirejs组件化
如何实现订阅者发者模式
MVVM实现原理
vue生命周期
vue跨组件通信实现
vue的props和slot的使用,区别
vuex的原理
vue diff算法
vue的生命周期
哈希的原理
v-model参数
mvvm,mvc,mvp区别
pwa
vue-router不能解决情况和边界情况
transition生命周期
react中props和state的区别
组件怎么样拿到redux的数据
react的事件绑定和原生有什么区别吗
react的虚拟DOM了解什么,这些类型的框架和传统的jd操作dom的优势
react是如何实现数据绑定的
react首次渲染过程
redux和vuex的区别
kut如何优化react的diff,有去提pr吗,为什么
Vue实例
jQuery
jQuery的源码看过没
jQuery原理,平时用jQuery都做过什么
webpack
打包原理
webpack工程构建工具怎么样用
打包插件
webpack热更新原理
优化构建速度
webpack的插件大致流程
webpack的plugin和loader的区别
node.js
nodejs了解多少
nodejs是单线程还是多线程的,为什么能去开很多异步请求去访问其他接口
Nodejs的线程管理
nodejs的时间方法讲讲看
nodejs的特性,适合处理什么场景
nodejs如何require一个包
Nodejs加载原生的包与自己定义的包路径如何查找
nodejs的优势,用过nodejs的哪些模块
websocket协议,nodejs中有哪些实现了这个协议
移动端开发
1像素边框问题
移动设备忽略将页面中的数字识别为电话号码的方法
自适应
pwa
移动端手势
了解web移动开发吗,移动端适配方案有哪些
你有Native开发经验吗,讲下android如何调用页面的资源
flex弹性布局裂解,移动端适配方案有哪些
移动端开发经验
如何实现移动端布局,适配方案
小程序开发
微信小程序和h5差异,如果有开发weex的经验,可能会加上weex
如何在浏览器端和原生端的代码复用,讲到weex又简单讲了它的原理
小程序的生命周期
小程序的Onlaunch周期不支持同步获取信息之后再执行到下一个生命周期
git
一些基本命令
冲突的解决
兼容性问题
遇到过兼容性的问题吗,要如何处理
如何处理CSS兼容问题
webpack有个插件可以解决css兼容性问题你知道吗(postcss-loader)
兼容过IE的方法
webpack css兼容
安全性问题
web的安全问题?
前端安全这块了解多少
说一下web安全,xss,csrf防范
csrf流程,举例子
csrf攻击原理以及防御手段
前端安全(资源枚举,XSS共计,DOS攻击,CSRF攻击)
项目性能优化相关
页面DOM节点太多,会出现什么问题?如何优化?
如何做性能监测
讲下如何负载均衡
前端性能理解,优化有哪些
webpack项目太大了怎么办
css性能优化,就动画效果,如何从js,cs角度减少回流?
树数据多少非常多怎么样办(懒加载)
页面优化方法
如果现在重新做这个项目,有什么想优化的
怎么样让页面加载更快
一个网页很多很多页面,怎么样让用户体验好一点
代码规范与优化
代码规范
css动画优化
算法
说下快排完整性
数组去重
平衡二叉树
二叉搜索树的原理
如何反转链表
如何在上亿规模的数据中找到最大的一个数
算法:反转二叉树以及时间复杂度
链表找环
算法:给你一个无序数字数组,里面是随机的书,并给出一个目标值,求这个数组的两个数,这个数的和等于目标值,要求这两个数并给出下标,
你能想到最优的办法是什么吗(提示:快排,双指针)
算法题:二叉树层序遍历
算法:给一个无序的数组,让我分割成m组,这个m组里和最大的一组是所有可能的分割情况最小的(二分答案法)
算法:两个排序好的数组,怎么样找他的中位数
排序算法有哪些,时间复杂度,选择排序怎么样搞
数据结构有哪些,红黑树和二叉树的区别,二叉搜索树与二叉平衡树
快排和冒泡原理
-
1、排序算法
-
2、动态规划,参见背包问题
-
3、二叉树
-
4、加油站问题(贪心算法)
-
5、二分法
-
6、二叉树遍历
-
7、单链表反转
-
8、取1000个数字里面的质数
-
9、找出数组中和为给定值的两个元素,如:[1, 2, 3, 4, 5]中找出和为6的两个元素。
-
10、线性顺序存储结构和链式存储结构有什么区别?以及优缺点
附加题
IO多路复用
前端工程化思想
模块化思想
你为什么选择前端
如何学前端的,看了哪些书
博客写了多少篇
你的技术亮点在哪里
写一下实现合理化
你对三大框架的理解是什么
前端框架用过什么?
项目中使用过构建工具吗
平时如何学习前端的,最近在看的一本书
你有用到express吗
express和koa2的区别
express里面登录的session服务怎么样实现分布式服务
express和koa的对比,两者中间件的原理,koa捕获异常多种情况说一下
你项目里用到第三方登录涉及的oAuth(JWT)协议的实现原理,以及你本地的实现原理,第三方登录怎么样保证安全性
无限滚动方案
你的文件上传方案是什么
前端监控,pm2,如果我服务器挂了,如何快速发现并且定位错误
pm2除了监控还能干什么,如何实现
express中间件如何实现
session+cookie的登录机制
图片压缩的原理
如何处理高并发的情况下,用户顺序问题
如何处理兼容性问题
你遇到过最难的问题是什么
你遇到的最有难度的技术问题是什么
项目中遇到过什么难点,如何解决的
工作中做的项目有什么亮点
ES6 class与ES5 function区别及联系
koa generator能讲一下吗
hybrid
同一个网站,在上海打开慢,在北京打开快,怎么样分析原因,(DNS解析和CDN)
vue怎么监听数组
写过webpack loader吗
微信网页版登录机制思考
最近看过的技术文章和一遍非技术文章(考察表达能力,和主动学习新知识的习惯)
Linux命令用的多吗,怎么样进行进程间通信
kill指令了解过吗
对大前端的理解,前端会发展怎么样
怎么样学前端
遇到问题如何解决
多长时间开始独立做前端,这段时间是如何学习的
学习生涯最失败的事情是什么,怎么样走出来的
如何看待竞争
项目里最难的事情,如何克服
职业规范是怎么样的
如何做单侧,单侧和开发占比应该是多少
是独生子女吗
别人对你的项目认可度,项目做的怎么样
看哪些技术网站
觉得自己的不足
一个项目可能要延期,怎么样处理
长连接
有没有抓过包
有没有用过代理
协同开发需要注意什么
数据结构学过什么
如何实现文件上传的功能
你怎么样维持用户登录状态的
看过什么书
你最荣耀的事情
你怎么样知道我们公司的,为什么来我们公司
简单介绍一下backbone
预约系统如何解决高并发的问题
了解过weex吗
自我介绍
介绍所用技术及成长过程
以上是关于面试题汇总的主要内容,如果未能解决你的问题,请参考以下文章