① 高级前端面试题目大全(三)
解析: 第 41题
比如 sleep(1000) 意味着等待1000毫秒,可从 Promise、Generator、Async/Await 等角度实现
解析: 第 42 题
解析: 第 43 题
1、客户端使用https的url访问web服务器,要求与服务器建立ssl连接
2、web服务器收到客户端请求后, 会将网站的证书(包含公钥)传送一份给客户端
3、客户端收到网站证书后会检查证书的颁发机构以及过期时间, 如果没有问题就随机产生一个秘钥
4、客户端利用公钥将会话秘钥加密, 并传送给服务端, 服务端利用自己的私钥解密出会话秘钥
5、之后服务器与客户端使用秘钥加密传输
解析: 第 44 题
解析: 第 45 题
1.使用第一次push,obj对象的push方法设置 obj[2]=1;obj.length+=1
2.使用第二次push,obj对象的push方法设置 obj[3]=2;obj.length+=1
3.使用console.log输出的时候,因为obj具有 length 属性和 splice 方法,故将其作为数组进行打印
4.打印时因为数组未设置下标为 0 1 处的值,故打印为empty,主动 obj[0] 获取为 undefined
解析: 第 46 题
解析: 第 47 题
1、Function.prototype.apply和Function.prototype.call 的作用是一样的,区别在于传入参数的不同;
2、第一个参数都是,指定函数体内this的指向;
3、第二个参数开始不同,apply是传入带下标的集合,数组或者类数组,apply把它传给函数作为参数,call从第二个开始传入的参数是不固定的,都会传给函数作为参数。
4、call比apply的性能要好,平常可以多用call, call传入参数的格式正是内部所需要的格式
解析: 第 48 题
解析: 第 49 题
解析: 第 50 题
为什么在 Vue3.0 采用了 Proxy,抛弃了 Object.defineProperty?
解析: 第 51 题
解析: 第 52 题
解析: 第 53 题
解析: 第 54 题
如下:{1:222, 2:123, 5:888},请把数据处理为如下结构:[222, 123, null, null, 888, null, null, null, null, null, null, null]。
解析: 第 55 题
解析: 第 56 题
解析: 第 57 题
解析: 第 58 题
解析: 第 59 题
解析: 第 60 题
解析: 第 61 题
解析: 第 62 题
解析: 第 63 题
解析: 第 64 题
解析: 第 65 题
解析: 第 66 题
随机生成一个长度为 10 的整数类型的数组,例如 [2, 10, 3, 4, 5, 11, 10, 11, 20] ,将其排列成一个新数组,要求新数组形式如下,例如 [[2, 3, 4, 5], [10, 11], [20]] 。
解析: 第 67 题
解析: 第 68 题
解析: 第 69 题
解析: 第 70 题
解析: 第 71 题
[图片上传失败...(image-2eeb30-1575446538468)]
<figcaption></figcaption>
解析: 第 72 题
解析: 第 73 题
解析: 第 74 题
解析: 第 75 题
解析: 第 76 题
示例 1:
示例 2:
解析: 第 77 题
解析: 第 78 题
解析: 第 79 题
解析: 第 80 题
解析: 第 81 题
解析: 第 82 题
解析: 第 83 题
习题: https://blog.csdn.net/qq_37024887/article/details/106784068
解析: 第 84 题
解析: 第 85 题
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
示例:
解析: 第 86 题
解析: 第 87 题
以下数据结构中,id 代表部门编号,name 是部门名称,parentId 是父部门编号,为 0 代表一级部门,现在要求实现一个 convert 方法,把原始 list 转换成树形结构,parentId 为多少就挂载在该 id 的属性 children 数组下,结构如下:
解析: 第 88 题
解析: 第 89 题
[图片上传失败...(image-aea64e-1575446538470)]
解析: 第 90 题
解析: 第 91 题
[图片上传失败...(image-21d53f-1575446538470)]
解析: 第 92 题
示例 1:
中位数是 2.0
示例 2:
中位数是(2 + 3) / 2 = 2.5
解析: 第 93 题
解析: 第 94 题
解析: 第 95 题
解析: 第 96 题
解析: 第 97 题
解析: 第 98 题
解析: 第 99 题
解析:[第 100 题]( https://github.com/Advanced-Frontend/Daily-
② 美团前端面试难吗
美团目前也是在大量的招人啊~~当时参加的是美团打车部门的面试(一年工作经验以上的),部门技术栈vue,后台就是node,一面通过,等了两个小时面试二面,然后通知我回去等消息,一般这样就是挂掉了,毫无疑问。美团是一次性全部面完的。所以去参加最好做好面试四个小时的打算。
先来聊聊一面吧~哈哈
一面
1.简单的自我介绍,与大体的了解我。。。
一面面试官非常不错,先问了下几个项目和用到的技术,会先对我懂的东西做一个大体的了解,比如webpack的单页面的多页面切换,webpack的按需加载,一些webpack的配置有哪些,问了有没有看vue源码,我说了一个vue的watch,大体问了问我框架方面的东西,发现我对框架并不是很熟练,安慰我说没有关系。
2.promise的原理
这个面试官最让人欣赏的就是不会去问你不了解的东西,一开问了我promise,发现我用的并不是很多,就很自然的说没事,换一种方法问你~~~好和蔼啊~
然后就让我用原生js写一个回调函数,其实就是问promise的原理了,js写一个。
3.this指向
这个是面试官手写了一道变态长以及绕的this指向题,可以自行网络js this指向面试题,看几道没有啥问题,需要关注的是其中也考了,argument,和apply(null)。以后想起来再写吧
4.bind与函数柯里化
也就是写个bind,这个红皮书高级函数(22章)有,
可以看下。不过还是得先理解bind的用法,返回一个函数,以及可以传递的参数。参数这里涉及到了函数柯里化。都是手写代码,而且最好写的整洁,因为我有些一笔带过,面试官都让我写完整,明确说要看我写代码水平
5.==, isNaN, typeof
问这个之前先问了我有几种数据类型(七种,下图再加symbol),这里隐形的看你知不知道es6,symbol这个新出的类型。说出了symbol自然会问你这个类型有什么用。
然后就写了好多个typeof,isNaN,==的问输出,这个就是基础题
6.知道什么http请求头?
这个可以说的很多,说了几个,又主动说了下有关跨域请求头,之前项目用的cors,于是和他聊了一会,其实面试就是主动表现自己,把自己知道的都说出来,不然几个请求头说细不细,要问细了能把人问蒙了,最好把话题引到自己知道的地方。
7.问了css
问了css盒子并画出来,清除浮动与bfc,两列布局。
8.说了一大堆其实就是想考我防抖
面试完这个问我想问的问题,我直接问还有二面么?回答有的,又介绍了一会美团打车,说是后台是node,看来要求是前端也要有后台的知识喽。
二面
二面的是我的学长,可是我被问惨了。。。。问的显然比一面深入很多,都问了java
1.自我介绍,问项目
针对项目问了不少,当时有一个支付行为的项目,于是问了很多安全方面的问题,蒙蒙的,完全不知道。第一个就很失败了。然后问了其他的项目,问了websocket。
2.node的EventEmitter用js实现出来
写出来了,但是可以看出来代码写的不规范,学长面试官表示看起来很乱。不过大约算是可以的,指出了几个问题,让我进行修改。(之后完善)
3.虚拟dom
其实vue中就有jsx,react的特点之一有jsx,虚拟dom和代码优化有点关系。
先说下正常对dom的操作,在浏览器中分为渲染引擎和js引擎,现在浏览器内核一般都是渲染引擎(生成渲染树),因为js引擎越来越独立了(所谓的v8引擎?)
然而你在js中获取dom元素的时候你必须要通过渲染引擎,这样两个线程之间的数据交换自然会很慢。所以在前端优化中总是要考虑减少dom操作这一项。包括获取dom元素变量储存起来。
jsx是把dom元素变成了储存在内存中的数据结构。js很快,操作dom也很快。不过也存在缺点,目前的理解就这么点了。
4.路由的实现原理
饿,不知道。。(待会看!)
5.node文件流,java的映射机制(记不太清楚)?
饿。。
6.数组方法map和recer区别?
饿
7.进程与线程的区别
终于有个我会的了,这个显然想问你js的运行机制。先介绍了下进程与线程。
一个浏览器是一个进程,虽然js是单线程的,但是浏览器是多线程的,v8引擎也是多线程的,比如有渲染线程,有处理请求的线程。然后说说任务队列,eventloop。没有理解很深也不敢往下说。
事件循环可以看下这个,链接
8.树遍历
先序,中序,后序。我只知道这么多了,显然想让我写一个的,可是不会。也显然面试官内心已经把我pass掉了,没多问。
9.问了个算法
KMP??反正我不知道。
③ 前端面试题(十五)
已知高度和宽度的元素:
设置父元素为相对定位relative,给子元素设置绝对定位absoluted,top: 0; right: 0; bottom: 0; left: 0; margin: auto;
设置父元素为相对定位,给子元素设置绝对定位,left: 50%; top: 50%; margin-left: --元素宽度的一半px; margin-top: --元素高度的一半px;
未知高度和宽度的元素:
设置父元素为相对定位,给子元素设置绝对定位,left: 50%; top: 50%; transform: translate(-50%,-50%);
设置父元素为相对定位,给子元素设置绝对定位,left: 50%; top: 50%; transform:translate(-50%,-50%);
组件中的 data 写成一个函数,数据以函数返回值形式定义,这样每复用一次组件,就会返回一份新的 data ,类似于给每个组件实例创建一个私有的数据空间,让各个组件实例维护各自的数据。而单纯的写成对象形式,就使得所有组件实例共用了一份 data ,就会造成一个变了全都会变的结果。
for of:
支持 return ,并且是值 of 数组(不能遍历对象)
1. 可以避免所有 for-in 循环的陷阱
2. 不同于 forEach(),可以使用 break, continue 和 return
3. for-of 循环不仅仅支持数组的遍历。同样适用于很多类似数组的对象
4. 它也支持字符串的遍历
5. for-of 并不适用于处理原有的原生对象
for in:
forEach:
assets文件夹里是静态资源;components是放组件;router是定义路由相关的配置;view视图;app.vue是一个应用主组件;main.js是入口文件
在组件切换过程中将状态保留在内存中,防止重复渲染DOM,减少加载时间及性能消耗,提高用户体验性。
生命周期函数: activated( 组件激活时调用 )、deactivated( 组件停用时调用 )
常见的使用场景可以分为三类:
当频繁执行条件时,不适合使用 v-if ,用 v-show ;
反之执行条件的次数很少,使用 v-if 即可。
v-if 和 v-for ,不推荐两者一起使用在同一个元素上,虽然也能运行,但是编辑器会报警告;两者一起使用时,v-for比v-if具有更高的优先级,
④ 前端常见面试题
前端开发可能问到的问题:
自我介绍(一定要对项目很熟悉)
ui-app web前端技术体系?
响应式怎么做?
render跟状态的差异
类组件的生命周期?
阻止冒泡,阻止事件默认行为
文本垂直居中。 line-height设置为元素高度。
用rece讲数组中的对象进行合并
解释localstorage sessionstorage cookie
eventbus满足event.on('eventname', callback)
display有几个值?默认值?
position有几个值?默认值?
div水平垂直居中?
position有哪些值
react相关问题(概念理解、通讯组件等)、react常用内置
React-router
html+css
页面增删改查
position的值 absolute relative fixed static
工作中是怎么联调和上线的(现场想合适的前后端联调方式,能和webpack环境切换联系起来)
antd的Form shouldUpdate增量更新方式,性能优化。
对Hooks的理解
3:操作dom点击事件向服务器上传数据,在上传未完成之前不可重复操作事件
4:日期格式化,日期不足前两位补0(2021-06-06 06:06:00)
用css写一个布局,左侧固定宽度,右侧自适应
你看
⑤ 2020年Web前端面试题汇总(一)
今天小编要跟大家分享的文章是关于2020年Web前端面试题汇总。由于内容较多小编分开为大家介绍,今天首先来和小编一起看一看第一部分的内容,希望这些面试题能够对正准备找Web前端相关工作的小伙伴们有所帮助。
1.说几条写JavaScript的基本规范?
1)不要在同一行声明多个变量;
2)请使用===/!==来比较true/false或者数值;
3)使用对象字面量替代newObject这种形式;
4)减少使用全局函数,全局变量;
5)switch语句必须带有default分支;
6)if语句必须使用大括号;
7)for-in循环中的变量;
应该使用var关键字明确限定作用域;
从而避免作用域全局污染。
2.说说平衡二叉树?
平衡二叉搜索树(Self-balancingbinarysearchtree)
又被称为AVL树。
具有以下渣瞎性质:
1)它是一棵空树或它的左右两个子树
的高度差的绝对值不超过1,
并且左右两个子树都是一棵平衡二叉树。
2)平衡二叉树必定是二叉搜索树,反之则不一定。
3)平衡二叉树的常用实现方法有红黑树、AVL、
替罪羊树、Treap、伸展树等。
最小二叉平衡树的节点的公式如下:
F(n)=F(n-1)+F(n-2)+1备注:1是根节点,
F(n-1)是左子树的节点数量,
F(n-2)是右子树的节点数量。
3.清除浮动和解决垂直外边距重叠的解决方案?
问题描述:
1)父元素没有设置宽高,尺寸由子元素撑起;
子元素一旦浮动,父元素高度会发生塌陷。
2)子元素设置margin-top会作用的父元素的margin-top;
此时会造成垂直外边距重叠。
.clearfix::after,.clearfix::before{
content:''
display:table;
clear:both;
}
4.sessionStorage、localStorage和cookie?
相同点:
都用于浏览器端存储的缓存数据;
不同点:
1)存储内容是否发送到服务器端
当设置了Cookie后,数据会发送到服务器端,
造成一定的宽带浪费;xxxstorage则会将数据保存
到本地,不会造成宽带浪费;
2)数据存储大小不同
Cookie数据不能超过4K,适用于会话标识;
xxxstorage数据存储可以达到5M;
3)数据存储的有效期限不同
cookie只在设置了Cookid过期时间
之前一直有效,即使关闭窗口或者浏览器;
sessionStorage,仅在关闭浏览器之前有效;
localStorage,数据存储永久有效;
4)作用域不同
cookie和localStorage是在同源同窗口中
都是共享的;
sessionStorage不在不同的浏览器窗口
中共享,即使是同一个页面;
5.判断一个单词是否是回文?
回文是指把相同的词汇或句子,
在下文中调换位置或颠倒过来,
产生首尾回环的情景,
叫做回文,也叫回环。
比如cacac,redivider。
letcheckPalindrom=(str)=>{
returnstr===
str.split('').reverse().join('');
}
6.不借助临时变量,进行两个整数的交换?
输入a=3,b=1,
输出a=1,b=3
letswap=(a,b)=>{
b=b-a;
a=a+b;
b=a-b;
return[a,b];
}
7.请写如芦空出至少5个html5新增的标签,并说明其语义和应用场景?
section:定义文档中的一个章节;
nav:定义只包含导航链接的章节;
header:定义页面或章节的头部;
它经常包含logo、页面标题和导航性的目录。
footer:定义页面或章节的尾部;
它经常包含版权信息、法律信息链接和反馈建议用的地址。
aside:定义和页面内容关联度较低的内容,
如果被删除,剩下的内容仍然很合理。
8.get和post请求在缓存方面的区别?
get请求类似于查找的过程,用户获取数据,
可以不用每次都与数据库连接,所以可以使用缓存。
post不同,post做的一般是修改和删除的工作,
所以必须与数据库交互,所以不能使用缓存。
因此get请求适合于请求缓存。
9.如哗漏何解决异步回调地狱?
promise、generator、async/await
10.图片的懒加载和预加载?
预加载:提前加载图片,
当用户需要查看时可直接
从本地缓存中渲染。
懒加载:懒加载的主要目的
是作为服务器前端的优化,
减少请求数或延迟请求数。
两种技术的本质:
两者的行为是相反的,
一个是提前加载,
一个是迟缓甚至不加载。
懒加载对服务器前端有一定
的缓解压力作用,
预加载则会增加服务器前端压力。
11.bind,apply,call的区别?
通过apply和call改变函数的this指向,
这两个函数的第一个参数都是一样的,
表示要改变指向的那个对象,
第二个参数,apply是数组,
而call则是arg1,arg2...这种形式。
通过bind改变this作用域
会返回一个新的函数,
这个函数不会马上执行。
12.js怎么控制一次加载一张图片,加载完后再加载下一张?
方法一:
varobj=newImage();
obj.src="#/21.jpg";
obj.onload=function(){
document.getElementById("pic")
.innnerHTML="
}
⑥ 前端笔试面试题总结(二)
A. null
B. [null]
C. [{}]
D. [{ name:"Lydia" }]
解析:
注:members被赋值的是person的指针;
正确答案:D
A. f foo(){ foo =10; console.log(foo)}
B. 1
C. 10
D. undefined
解析:
具名的匿名函数,函数名默认指向其本身,且具有只读属性,函数会被当作函数表达式而不是一个标准的函数声明来处理,函数表达式意味着函数被直接绑定在作用域中,意味着foo只能在被自己代表的位置被调用,不会污染全局作用域。
正确答案:A
解析:
正确答案: 30 24
解析:
正确答案:undefined 10 20
A. { name: "Lydia",age: 21} , ["name","age"]
B. { name: "Lydia",age: 21} , ["name"]
C. { name: "Lydia"} , ["name","age"]
D. { name: "Lydia"} , ["age"]
解析:
注: Object.defineProperty 是ES5提供的一种给对象定义属性的方式,定义的属性默认不可以枚举、遍历,不可以删除;可以使用set、get,定义属性时触发get,修改属性值时触发set,利用其可以实现数据双向绑定。
Object.keys 返回的是数组,又因 Object.defineProperty 定义的属性默认不可以枚举、遍历,所以只能返回对象的第一个关键字;如果想要实现遍历,可以利用 enumerable:true 实现遍历,如果想要修改或删除,可以利用 configurable:true 实现。
正确答案:B
A. "{"level":19,"health":90}"
B. "{"username": "xiao ming"}"
C. "["level","health"]"
D. "{"username":"xiao ming","level":19,"health":90}"
解析:
JSON.stringify(value,replacer) 方法将一个 JavaScript 对象或值转换为 JSON 字符串,如果指定了一个 replacer 函数,则可以选择性地替换值,或者指定的 replacer 是数组,则可选择性地仅包含数组指定的属性。
正确答案:A
A. 20 , 40 , 80 , 160
B. 20 , 40 , 20 , 40
C. 20 , 20 , 20 , 40
D. NaN , NaN , 20 , 40
解析:
正确答案:C
A. Calculated! 20 Calculated! 20 Calculated! 20
B. Calculated! 20 From cache! 20 Calculated! 20
C. Calculated! 20 From cache! 20 Form cache! 20
D. Calculated! 20 From cache! 20 Error
解析:
注:闭包函数定义: 当一个函数的返回值是另外一个函数,而返回的那个函数如果调用了其父函数内部的其它变量,如果返回的这个函数在外部被执行,就产生了闭包。
表现形式:使函数外部能够调用函数内部定义的变量。
正确答案:C
A. ['apple','banana']
B. 2
C. true
D. undefined
解析:
注:push()方法的返回值:把指定的值添加到数组后的新长度
正确答案:B
A. "I made it!"
B. Promise {<resolved>: "I made it!"}
C. Promise {<pending>}
D. undefined
解析:
注:promise ES6语法中的异步操作的API,每一个promise包含三种状态 pending(挂起)、 resolve(成功)、 reject(失败), 而在每一个promise对象包含then 和 catch两个方法,then方法接收一个函数,用于处理resolve成功方法,而catch方法接收一个函数,用于处理reject失败的方法。
正确答案:C
⑦ 前端面试会提问到哪些
在面试前端的过程中,有些问题是经常会被提问到的
一、基础篇
1. 在不使用第三个变量的情况下,如何调换a与b的值?
2. px与em的区别
3. 简述一下盒模型
4. 页面导入样式时,使用link和@import有什么区别?
5. 简述一下事件代理
二、HTML常见题目
01、Doctype作用?严格模式与混杂模式如何区分?它们有何意义?
02、HTML5为什么只需要写?
03、行内元素有哪些?块级元素有哪些?空(void)元素有哪些?
04、页面导入样式时,使用link和@import有什么区别?
05、介绍一下你对浏览器内核的理解?
06、常见的浏览器内核有哪些?
07、html5有哪些新特性、移除了哪些元素?如何处理HTML5新标签的浏览器兼容问题?
08、如何区分HTML和HTML5?
09、简述一下你对HTML语义化的理解?
10、HTML5的离线储存怎么使用,工作原理能不能解释一下?
三、CSS类的题目
01、介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的?
02、CSS选择符有哪些?哪些属性可以继承?
03、CSS优先级算法如何计算?
04、CSS3新增伪类有哪些?
05、如何居中div?如何居中一个浮动元素?如何让绝对定位的div居中?
06、display有哪些值?说明他们的作用。
07、position的值relative和absolute定位原点是?
08、CSS3有哪些新特性?
09、请解释一下CSS3的Flexbox(弹性盒布局模型),以及适用场景?
10、用纯CSS创建一个三角形的原理是什么?
四、JavaScript类的题目
01、JavaScript中this是如何工作的
02、请解释原型继承的原理。
03、什么是闭包(closure),如何使用它,为什么要使用它?
04、.call 和.apply的区别是什么?
05、请指出JavaScript 宿主对象(host objects) 和原生对象(native objects) 的区别?
06、请指出以下代码的区别:function Person(){}、var person = Person()、var person = new Person()?
07、请解释变量声明提升(hoisting)。
08、什么是 “use strict”; ? 使用它的好处和坏处分别是什么?
09、什么是事件循环 (event loop)?
10、请解释同步 (synchronous) 和异步 (asynchronous) 函数的区别。
五、开发及性能优化类题目
01、如何规避javascript多人开发函数重名问题?
02、请说出三种减低页面加载时间的方法.
03、说说你所了解到的Web攻击技术。
04、说说你说了解的前端性能优化方法?
05、前端开发中,如何优化图像?图像格式的区别?
06、浏览器是如何渲染页面的?
07、页面重构怎么操作?
08、什么叫优雅降级和渐进增强?
09、前端需要注意哪些SEO?如何做SEO优化?
10、平时如何管理你的项目?
⑧ 美团网的面试经历
找工作,不容易啊,跑来跑去的,问题是,面试还不是很顺利。
美团的笔试题目,算法程序题居多,最后有安卓的、前端什么的题,具体的也不太记得了。美团的题目做的不多,程序题有一道没做。感觉还是不难的,题目拿起来一看,第一道不就是leetcode上的吗,很简单,刷过。接下来的,写得算是还备中可以。当天晚上,我就有同学收到美团的面试通知,我还没收到,以为是挂了。那就去霸面把,第二天早上,就跟同学一起去了,同学是去面试的,而我是来打酱油霸面的。谁知,HR叫我交简历,然后回去等通知。第一次霸面就这样结束了。
没想到,在当天下午就到美团的面试通知,HR说我通过了笔试了,叫我 明天早上8点30分去面试 。看来,是我太心急了,人家还没通知,就去霸面了。汗。在面试的前一天晚上,把之前没过的算法题都看了一遍,特别是数组的题目,看到了2点多,感觉是拼了,考试都没有这么努力。第二天就带着倦意去面试了。等了不久,感觉是10几分钟,就开始面试了,美团是分批面的,一次面完,总共有3面,都是技术面,要是一面没有通过,就直接叫你回家。在场的HR一看我,感觉有点熟,“你是不是昨天来霸面的?“,”是的“。没想到,就这样给留下印象了。
第一面的题目不难,算是一些很基础的问题,有问到,进程和线程的区别;进程间同步的方式,这两个都是很简单的问题。其中还有问到如何编程实现 a^n ,我就说用二分的思想。还有几道题,我忘了。我问他,我的表现怎么样,他说挺好的。就这样,顺利进入第二面,第二面基本上是没问什么操作系统和网络的题目,就直接出算法题了,有如何判断一个二叉树是另一棵二叉树的子树;像打印机一样,倒过来打印一棵树,比如一个树是这样的',输出4、5、6、2、3、1,这个就用层次遍历,存储遍历过的节点,在每一层的结尾存储该层的个数。。。
总之,是做出来了,二面的面试官也是挺幽默的,不会冷,不会面瘫。二面也就这样过了,顺利进入3面。3面就问了一两个HR经常问的问题,具体我也忘了,然后,就直接出题让你做了,面试官是毫无表情,这下倒是有点压力了,好吧,你出题把。在聊了最擅长的科目是什么后,还有问到自己的代码量等,还出了编程题,题目有
1)实现 char* upcase(const char* src, int len)。
2) 在类似6,7,8,1,2,3,4,5 的序列中用二腊滚败分查找某个数。这道题我做过,不怕。
在做完第二道题后,面试官就说,面试就到这了。看时间也是差不多要中午12点了。 真是的轮颤,怎么没有人问我挖掘机哪家强?
满意的地方:
好吧,就这样结束了美团3面,就回去等通知了。
不满意的地方:
话说,面试官面无表情,感觉不是很好,要给人压力的样子,特别想吐槽。好了,面试什么的,最苦逼了,到现在还在等通知,就等把,看来是没人要了。
⑨ 你遇到的前端面试题都有什么
大家好,我是王我。
随着春节的结束,各个行业也普遍开始了上班的节奏, 不过本人17号才上班。为什么?因为长得帅的都上班比较晚。 当然,每到新年结束,又迎来了一批招聘者与面试者,我来说说作为一年工作经验应该知道的面试题。
HTML篇
1.doctype是什么?有哪些类型?
2.input有哪些新类型?简要说明其8用法。
3.HTML5有哪些新特性,移除了哪些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分HTML和HTML5?
4.bootstrap响应式的原理是什么?
5.多移动终端页面适配是如何实现的?
CSS篇
1.如何实现两列布局,左边自适应,右边固定宽度?
2.用CSS画一个三角形
3.CSS实现字体大写
4.display有哪些常用的属性值?分别是什么意思?
5.position为absolute,relative,fixed的定点位置
6.用三种方法清除浮动
7.请介绍一下margin塌陷问题
js篇
1.什么是事件冒泡和捕获?如何阻止事件冒泡?(分别用原生和jquery实现)
2.js创建对象,至少使用三种方法
3.简述一下事件穿透以及解决办法
4.用三种方式判断变量类型是否是数组
5.如何实现对象的拷贝?
6.什么是闭包?闭包的优缺点。
7.简述一下ajax请求的过程。
8.简述一下new一个人构造函数的人过程。
9.为什么会有跨域?是怎么解决跨域问题的?简述一下原理。
10.js原始数据类型有哪些?
11.学一个函数,判断一个变量是否是字符串
12.typeof有哪些结果?
13.剪头函数和普通函数有什么区别?
14.请用三种方法实现数组去重
15.href和src有什么区别?
jquery篇
1.attr()和prop()有什么区别?
2.on和bind有什么区别?js动态添加的dom元素是通过on还是bind?
3.touch和click有什么区别?
4.window.onload和jquery的ready有什么区别?
vue篇
1.简述一下vue的生命周期及其特点
2.vue双向绑定的原理是什么?
3.vue的特点有哪些?和jquery有什么区别?
4.父子组件之间传递数据的方法
5.子组件如何共享数据?
6.一般有什么工具进行数据交互?
7.webpack的原理是什么?
8.简述一下$nextTick的用法
浏览器篇
1.cookie、sessionStorage、localStorage的区别是什么?
2.有用过浏览器缓存吗?简述一下基本的缓存机制
网络篇
1.http和https之间的区别
2.从服务器的安全考虑,是使用get请求还是post请求?
3.URL请求的过程有哪些?
项目经验篇
1.项目中遇到的最大挑战以及解决办法
2.常见的网页优化有哪些?
作为一个面试一年以内工作经验的前端程序员来说,以上的问题能够倒答如流月薪6k应该不成问题啦。这些面试题也是我在很多面试中感觉经常被问到的题目。
希望大家年后找工作能够顺顺利利, 千万不要跟我一样哦,只有帅气就一无所有了。
大家好,我是王我,中国最帅的前端程序员。
前几次都是各种培训公司,各种忽悠就不提了,说说后面4次面试的经历。
第一次是面一个小公司,不过他们好像没有厉害的前端,来面我的是个后端,一来没有问我关于js的知识,直接问我以前做过什么,有没有经验,我本人不会吹牛,简历也没怎么包装,就是自己把自学的知识和做的几个小demo弄在上面,也用github挂在页面上了,不过他根本不点开看,也不问,问我会不会vue,我当时对框架还不了解,他就说他们需要能直接上手开始写的,所以我第一个就直接挂了。
第二次面试是一个国企,这个问了很多问题,都很基础,js数据类型,数组操作,事件,大概就是高程的前面几章看看就差不多都能答到,然后因为他们主要用jq,所以问了很多jq的操作,关于节点的,动画的,我看锋利的jq大概看了3遍,也练过多次,所以我答的很熟。然后问了些布局方面的,bootstrap我了解过,又看过css3,所以这方面也没啥问题,最后在现场做了个题目,主要就是布局然后通过ajax呈现数据。后面听介绍我面试的说面试官比较满意,说我jq很熟,一面就过了。可惜后面电话面试不知怎么回事可能表现的不够自信,虽然没问技术,但是我没啥自信,把没项目经验什么的也不知怎么就一五一十交代了,估计因为这个挂掉了。
第三次没问问题,直接就是一套题开做,我在那做了一个多小时。题目就是按照要求一步一步做一个页面出来,我也搞忘了我当时卡在哪个地方了,坐在那得时候就是做不出来,没有设计图,要根据他的描述自己找个设计图然后做,我第一次遇到这个有点懵,虽然当时没做出来,不过回来我自己花了几个小时把它做了。所以这个也是凉了。
第四个问的比较多,数据类型,数组操作,跨域,ajax,闭包,原型链,继承,深拷贝,浅拷贝,模块amd cmd,基本都是问的js。然后问了html5的新特性 css3 的新特性,遇到过什么浏览器的兼容性问题,怎么解决的,以后想往什么方面发展。这个时候我已经会点vue了,照着做了个小demo,不过后来知道公司用的angularjs,面试官也没看我做的,问也没问。。以前听网上说要带上自己的项目去面试感觉没起多大效果。
最后总结下如果面的比较初级的岗位,应该主要问js,原型链,继承,闭包,深浅拷贝,ajax,跨域,然后js的基础知识,对了还有apply和call也问了,html5的新特性了解下就行。主要就是看你js掌握的程度,如果稍微要求高一点的,暂时还没面过,等以后面过在来回答
1. cookie session 的用途和区别,以及有效期
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
2. vue的数据绑定原理,mvvm与mvc的区别
MVVM:
m:model数据模型层 v:view视图层 vm:ViewModel
vue中采用的是mvvm模式,这是从mvc衍生过来的
MVVM让视图与viewmodel直接的关系特别的紧密,就是为了解决mvc反馈不及时的问题
图片说明一下:
说到MVVM就要说一下双向绑定和数据劫持的原理,
MVC:
m:model数据模型层 v:view视图层 c:controller控制器
原理: c层需要控制model层的数据在view层进行显示
MVC两种方式,图片说明:
总结:
mvvm与mvc最大的区别:
MVVM实现了view与model的自动同步,也就是model属性改变的时候, 我们不需要再自己手动操作dom元素去改变view的显示,而是改变属性后该属性对应的view层会自动改变。
不懂得可以复制链接查看:
https://www.pianshen.com/article/3716256399/
3. storage 的区别 sessionStorage localStorage
localStorage 的生命周期是永久性的。假若使用localStorage存储数据,即使关闭浏览器,也不会让数据消失,除非主动的去删除数据,使用的方法如上所示。localStorage有length属性
sessionStorage 的生命周期是在浏览器关闭前。也就是说,在整个浏览器未关闭前,其数据一直都是存在的。sessionStorage也有length属性,其基本的判断和使用方法和localStorage的使用是一致的
有一个文本框 通过v-bind绑定了value属性 值为myname 是我们在vue实例中定义的属性
传统我们获取文本框值方法 可能通过getElementById找到文本框 然后获取其value属性
但是vue中直接通过v-bind绑定了value属性 所以不需要像之前那样获取值
所以在后面的按钮中获取name值 直接获取vue实例对象data里面的myname属性即可
【数据为尊 ----数据映射到浏览器 如果数据v-model后修改(肯定input)然后到数据在有数据映射到浏览器页面 ----映射关系统称】
缓存路由组件
使用的是vue的一个组件,参考vue的官方文档
使用这个东西可以保证我们在切换组件的时候,原来显示的组件不被销毁
-----【保障组件的数据不会被切换路由而销毁数据】
Home是对应的组件对象的名字,不是路由的名字
6.多维数组拍平
数组拍平也称数组扁平化,就是将数组里面的数组打开,最后合并为一个数组
一红六种方法吧……
了解的请看: https://www.cnblogs.com/guan-shan/p/10165737.html
7.跨域的原因 解决方案
跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。
这样就可以说同源策略----协议---端口---域名
原生的src和href可以解决跨域
代理可以解决
请求头也可以携带浏览器提示的也可以解决
一般都是后端解决跨域问题
【别的需要了解看下方链接】
https://blog.csdn.net/qq_41604383/article/details/100770100
8.uniApp兼容问题§ 如果你使用cli创建项目(即项目根目录是package.json),不管用什么ide,即便是用HBuilderX,切记cli项目的编译器是在项目下的,HBuilderX不管怎么升级都不会影响编译器版本。你需要手动npm update来升级编译器。以及如果你想要安装less、scss等预编译器,也需要自己npm安装在项目下,而不是在HBuilderX的插件管理里安装。
§ 如果你使用离线打包,请注意HBuilderX升级后,真机运行基座和云打包对应引擎跟随HBuilderX升级,而你的sdk需要手动升级。sdk的版本升级一般滞后HBuilderX正式版升级一两天。
§ 如果你使用自定义基座,之前制作的自定义基座是不会跟随HBuilderX升级的,升级HBuilderX后你应该重新制作新版自定义基座。
§ 如果你使用wgt升级,新版HBuilderX编译的wgt,运行到之前的runtime上,一定要先测试好,看有没有兼容性问题。如果有问题,就不要wgt升级,整包升级。
§ 考虑到向下兼容,uni-app编译器在升级为新的自定义组件模式后,同时保留了对老编译模式的向下兼容。
在HBuilderX alpha版中,App端一定会使用新编译器,不理会manifest配置。
在HBuilderX 正式版中,新创建的项目会使用新编译器,老项目不会强制使用,而是开发者自己在manifest里配置开启。
§ 如果你使用其他ide开发uni-app,会经常因为拼错单词而运行失败,因为经过webpack编译一道,很多错误反应的不够直观,排错时间很长,不如从开始就依赖有良好提示的HBuilderX,避免敲错单词。
§ 云打包的引擎版本说明
HBuilderX Alpha,只有1套云打包机,不管你的HBuilderX alpha版本多少,对应的打包机一定是最新的alpha版的客户端引擎。
HBuilderX正式版,有2套打包机,一个是最新正式版,一个是次新正式版。
中间的紧急更新版本没有独立打包机。
举个例子:
HBuilderX 有1.8.0、1.8.1、1.8.2、1.9.0、1.9.1这几个正式版。
那么当前可用的打包机有1.9.1和1.8.2这2台。(即每个大版本的最后一个版本)
除了这2个HBuilderX版本外,其他版本的云打包都指向最新的1.9.1版对应的打包机。(即只保留2个大版本的云打包机)
【详情请看】
https://ask.dcloud.net.cn/article/35845
一、HTML
HTML书写规范
H5新增标签
HTML渲染过程
二、CSS
css盒子模型概念
css弹性布局概念
三、JavaScript
事件模型
DOM2级事件模型
闭包
原型链
四、移动Web开发
常见的布局方案
移动端前端常见的触摸相关事件touch、tap、swipe等整理
移动端前端手势事件
移动端页面渲染优化
GPU渲染
GPU核心渲染过程
五、调试
常用的调试工具
Chrome控制台调试js使用
移动端测试
六、HTTP网络知识
常见的HTTP状态码
不同请求类型的区别
WEB缓存方案
——————————
牛客网(www.nowcoder.com)
- 专业IT笔试面试备考平台
- 最全C++JAVA前端等互联网技术求职题库
- 全面提升IT编程能力
- 程序员交友圣地
分享了一些Web前端的面试题,限时一小时,你看看自己能够答出多少道!
放心,这些面试题都是一些非常基础的知识,只要你在平时认真听课、学习了,那么这些面试题肯定不会难道你。
建议:虽然没有人监督你,但还是希望你不要去寻找答案,脱离网络,拿起纸笔,你试一下自己究竟能够答出个什么水平!有没有真本领?答案尽在这些面试题里!那么,你准备好了吗?OK!计时开始!
一、HTML常见题目01、Doctype作用?严格模式与混杂模式如何区分?它们有何意义?
02、HTML5为什么只需要写?
03、行内元素有哪些?块级元素有哪些?空(void)元素有那些?
04、页面导入样式时,使用link和@import有什么区别?
05、介绍一下你对浏览器内核的理解?
06、常见的浏览器内核有哪些?
07、html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?
08、如何区分HTML和HTML5?
09、简述一下你对HTML语义化的理解?
10、HTML5的离线储存怎么使用,工作原理能不能解释一下?
二、CSS类的题目01、介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的?
02、CSS选择符有哪些?哪些属性可以继承?
03、CSS优先级算法如何计算?
04、CSS3新增伪类有那些?
05、如何居中p?如何居中一个浮动元素?如何让绝对定位的p居中?
06、display有哪些值?说明他们的作用。
07、position的值relative和absolute定位原点是?
08、CSS3有哪些新特性?
09、请解释一下CSS3的Flexbox(弹性盒布局模型),以及适用场景?
10、用纯CSS创建一个三角形的原理是什么?
三、Java类的题目
01、介绍Java的基本数据类型。
02、说说写Java的基本规范?
03、Java原型,原型链?有什么特点?
04、Java有几种类型的值?(堆:原始数据类型和栈:引用数据类型),你能画一下他们的内存图吗?
05、Java如何实现继承?
06、Java创建对象的几种方式?
07、Java作用链域?
08、谈谈This对象的理解。
09、eval是做什么的?
10、什么是window对象?什么是document对象?
OK,一小时到了,这个时间可不算短了,那么这些面试题你答出了几道呢?你写的答案正确了吗?现在你可以去翻看答案了。
如果你答出了绝大多数的或者是全部的题,并且答案也正确了,那么恭喜你……
你这时心里是不是有点小窃喜,认为自己有能力拿高薪了?虽然我也很想这么告诉你,但事实上这只能表明你的基础扎实,毕竟这只是一些非常基础的面试题。骚年~继续努力吧!
如果你只答出了小部分或者答出了大部分题但答案不正确,那么我只想说:“骚年,你的水平还差的远呢。”连这么基础的题你都打不出来,还想拿高薪?回去再练一段时间吧!
扎实的基础是你拿高薪的重要武器,如果你连基础都不扎实,那么想要攻克“高薪”这个厚实的堡垒,那只是痴人说梦罢了。
1.前端框架类问题,问你会不会用vue react啊
2.语言类,问你一些JavaScript语言的问题
3.项目经验,让你讲讲做过的项目,遇到的问题和解决之道
⑩ Web前端岗位面试题有哪些
前端面试题汇总,基本上会有四大类问题,具体如下:
一、HTML
1、Doctype作用?严格模式与混杂模式如何区分?它们有何意义?
2、HTML5 为什么只需要写 <!DOCTYPE HTML>?
3、行内元素有哪些?块级元素有哪些? 空(void)元素有那些?
4、页面导入样式时,使用link和@import有什么区别?
5、介绍一下你对浏览器内核的理解?
6、常见的浏览器内核有哪些?
7、html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?
8、简述一下你对HTML语义化的理解?
9、HTML5的离线储存怎么使用,工作原理能不能解释一下?
10、浏览器是怎么对HTML5的离线储存资源进行管理和加载的呢?
11、请描述一下 cookies,sessionStorage 和 localStorage 的区别?
12、iframe有那些缺点?
13、Label的作用是什么?是怎么用的?(加 for 或 包裹)
14、HTML5的form如何关闭自动完成功能?
15、如何实现浏览器内多个标签页之间的通信? (阿里)
16、webSocket如何兼容低浏览器?(阿里)
17、页面可见性(Page Visibility)API 可以有哪些用途?
18、如何在页面上实现一个圆形的可点击区域?
19、实现不使用 border 画出1px高的线,在不同浏览器的Quirksmode和CSSCompat模式下都能保持同一效果。
20、网页验证码是干嘛的,是为了解决什么安全问题?
21、tite与h1的区别、b与strong的区别、i与em的区别?
二、css
1、介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的?
2、CSS选择符有哪些?哪些属性可以继承?
3、CSS优先级算法如何计算?
4、CSS3新增伪类有那些?
5、如何居中div?如何居中一个浮动元素?如何让绝对定位的div居中?
6、display有哪些值?说明他们的作用。
7、position的值relative和absolute定位原点是?
8、CSS3有哪些新特性?
9、请解释一下CSS3的Flexbox(弹性盒布局模型),以及适用场景?
10、用纯CSS创建一个三角形的原理是什么?
11、一个满屏 品 字布局 如何设计?
三、常见兼容性问题?
1、li与li之间有看不见的空白间隔是什么原因引起的?有什么解决办法?
2、经常遇到的浏览器的兼容性有哪些?原因,解决方法是什么,常用hack的技巧 ?
3、为什么要初始化CSS样式。
4、absolute的containing block计算方式跟正常流有什么不同?
5、CSS里的visibility属性有个collapse属性值是干嘛用的?在不同浏览器下以后什么区别?
6、position跟display、margin collapse、overflow、float这些特性相互叠加后会怎么样?
7、对BFC规范(块级格式化上下文:block formatting context)的理解?
8、CSS权重优先级是如何计算的?
9、请解释一下为什么会出现浮动和什么时候需要清除浮动?清除浮动的方式
10、移动端的布局用过媒体查询吗?
11、使用 CSS 预处理器吗?喜欢那个?
12、CSS优化、提高性能的方法有哪些?
13、浏览器是怎样解析CSS选择器的?
14、在网页中的应该使用奇数还是偶数的字体?为什么呢?
15、margin和padding分别适合什么场景使用?
16、抽离样式模块怎么写,说出思路,有无实践经验?[阿里航旅的面试题]
17、元素竖向的百分比设定是相对于容器的高度吗?
18、全屏滚动的原理是什么?用到了CSS的那些属性?
19、什么是响应式设计?响应式设计的基本原理是什么?如何兼容低版本的IE?
20、视差滚动效果,如何给每页做不同的动画?(回到顶部,向下滑动要再次出现,和只出现一次分别怎么做?)
21、::before 和 :after中双冒号和单冒号 有什么区别?解释一下这2个伪元素的作用。
22、如何修改chrome记住密码后自动填充表单的黄色背景 ?
23、你对line-height是如何理解的?
24、设置元素浮动后,该元素的display值是多少?(自动变成display:block)
25、怎么让Chrome支持小于12px 的文字?
26、让页面里的字体变清晰,变细用CSS怎么做?(-webkit-font-smoothing: antialiased;)
27、font-style属性可以让它赋值为“oblique” oblique是什么意思?
28、position:fixed;在android下无效怎么处理?
29、如果需要手动写动画,你认为最小时间间隔是多久,为什么?(阿里)
30、display:inline-block 什么时候会显示间隙?(携程)
31、overflow: scroll时不能平滑滚动的问题怎么处理?
32、有一个高度自适应的div,里面有两个div,一个高度100px,希望另一个填满剩下的高度。
33、png、jpg、gif 这些图片格式解释一下,分别什么时候用。有没有了解过webp?
34、什么是Cookie 隔离?(或者说:请求资源的时候不要让它带cookie怎么做)
35、style标签写在body后与body前有什么区别?
四、JavaScript
1、介绍JavaScript的基本数据类型。
2、说说写JavaScript的基本规范?
3、JavaScript原型,原型链 ? 有什么特点?
4、JavaScript有几种类型的值?(堆:原始数据类型和 栈:引用数据类型),你能画一下他们的内存图吗?
5、Javascript如何实现继承?
6、Javascript创建对象的几种方式?
7、Javascript作用链域?
8、谈谈This对象的理解。
9、eval是做什么的?
10、什么是window对象? 什么是document对象?
11、null,undefined的区别?
12、写一个通用的事件侦听器函数(机试题)。
13、[“1”, “2”, “3”].map(parseInt) 答案是多少?
14、关于事件,IE与火狐的事件机制有什么区别? 如何阻止冒泡?
15、什么是闭包(closure),为什么要用它?
16、javascript 代码中的”use strict”;是什么意思 ? 使用它区别是什么?
17、如何判断一个对象是否属于某个类?
18、new操作符具体干了什么呢?
19、用原生JavaScript的实现过什么功能吗?
20、Javascript中,有一个函数,执行时对象查找时,永远不会去查找原型,这个函数是?
21、对JSON的了解?
22、[].forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16) }) 能解释一下这段代码的意思吗?
23、js延迟加载的方式有哪些?
24、Ajax 是什么? 如何创建一个Ajax?
25、同步和异步的区别?
26、如何解决跨域问题?
27、页面编码和被请求的资源编码如果不一致如何处理?
28、模块化开发怎么做?
29、AMD(Moles/Asynchronous-Definition)、CMD(Common MoleDefinition)规范区别?
30、requireJS的核心原理是什么?(如何动态加载的?如何避免多次加载的?如何 缓存的?)
31、让你自己设计实现一个requireJS,你会怎么做?
32、谈一谈你对ECMAScript6的了解?
33、ECMAScript6 怎么写class么,为什么会出现class这种东西?
34、异步加载的方式有哪些?
35、documen.write和 innerHTML的区别?
36、DOM操作——怎样添加、移除、移动、复制、创建和查找节点?
37、.call() 和 .apply() 的含义和区别?
38、数组和对象有哪些原生方法,列举一下?
39、JS 怎么实现一个类。怎么实例化这个类
40、JavaScript中的作用域与变量声明提升?
41、如何编写高性能的Javascript?
42、那些操作会造成内存泄漏?
43、JQuery的源码看过吗?能不能简单概况一下它的实现原理?
44、jQuery.fn的init方法返回的this指的是什么对象?为什么要返回this?
45、jquery中如何将数组转化为json字符串,然后再转化回来?
46、jQuery 的属性拷贝(extend)的实现原理是什么,如何实现深拷贝?
47、jquery.extend 与 jquery.fn.extend的区别?
48、jQuery 的队列是如何实现的?队列可以用在哪些地方?
49、谈一下Jquery中的bind(),live(),delegate(),on()的区别?
50、JQuery一个对象可以同时绑定多个事件,这是如何实现的?
51、是否知道自定义事件。jQuery里的fire函数是什么意思,什么时候用?
52、jQuery 是通过哪个方法和 Sizzle 选择器结合的?(jQuery.fn.find()进入Sizzle)
53、针对 jQuery性能的优化方法?
54、Jquery与jQuery UI有啥区别?
55、JQuery的源码看过吗?能不能简单说一下它的实现原理?
56、jquery 中如何将数组转化为json字符串,然后再转化回来?
57、jQuery和Zepto的区别?各自的使用场景?
58、针对 jQuery 的优化方法?
59、Zepto的点透问题如何解决?
60、jQueryUI如何自定义组件?
61、需求:实现一个页面操作不会整页刷新的网站,并且能在浏览器前进、后退时正确响应。给出你的技术实现方案?
62、如何判断当前脚本运行在浏览器还是node环境中?(阿里)
63、移动端最小触控区域是多大?
64、jQuery 的 slideUp动画 ,如果目标元素是被外部事件驱动, 当鼠标快速地连续触发外部元素事件, 动画会滞后的反复执行,该如何处理呢?
65、把 Script 标签 放在页面的最底部的body封闭之前 和封闭之后有什么区别?浏览器会如何解析它们?
66、移动端的点击事件的有延迟,时间是多久,为什么会有? 怎么解决这个延时?(click 有 300ms 延迟,为了实现safari的双击事件的设计,浏览器要知道你是不是要双击操作。)
67、知道各种JS框架(Angular, Backbone, Ember, React, Meteor, Knockout…)么? 能讲出他们各自的优点和缺点么?
68、Underscore 对哪些 JS 原生对象进行了扩展以及提供了哪些好用的函数方法?
69、解释JavaScript中的作用域与变量声明提升?
70、那些操作会造成内存泄漏?
71、JQuery一个对象可以同时绑定多个事件,这是如何实现的?
72、Node.js的适用场景?
(如果会用node)知道route, middleware, cluster, nodemon, pm2, server-side rendering么?
73、解释一下 Backbone 的 MVC 实现方式?
74、什么是“前端路由”?什么时候适合使用“前端路由”? “前端路由”有哪些优点和缺点?
75、知道什么是webkit么? 知道怎么用浏览器的各种工具来调试和debug代码么?
76、如何测试前端代码么? 知道BDD, TDD, Unit Test么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
77、前端templating(Mustache, underscore, handlebars)是干嘛的, 怎么用?
78、简述一下 Handlebars 的基本用法?
79、简述一下 Handlerbars 的对模板的基本处理流程, 如何编译的?如何缓存的?
80、用js实现千位分隔符?(来源:前端农民工,提示:正则+replace)
检测浏览器版本版本有哪些方式?
81、我们给一个dom同时绑定两个点击事件,一个用捕获,一个用冒泡,你来说下会执行几次事件,然后会先执行冒泡还是捕获