天鹅到家:
1、es5的继承方式有哪些?
2、vue-router路由模式有什么?实现原理是什么
3、vue-x的核心原理是什么
4、改变this的方法有什么
5、flex布局的一些属性
6、前后端交互时候cookie跨域如何携带
7、axios如何处理携带cookies
8、http的状态码,304、301、302分别是什么意思
9、TCP和UDP区别是什么?
10、TCP是怎么做到保证数据传输正确的
11、前端在XSS、XSF防御是如何做的
12、前端是如何优化的
编程题:
1、
/*
实现一个next()
例如: var next = setup([1, 2,3, 4,5,6, 7])
依次调用 next(),分别输出1,2,3,4,5,6, 7;
*/
function setup(array) {
}
var next = setup([1, 2,3, 4,5,6, 7])
console.log(next())
console.log(next())
console.log(next())
console.log(next())
实现
function setup(arr) {
let i = 0;
return function() {
++i;
return arr[i]
}
}
const arr = [1, 2, 3, 4, 5, 6, 7];
var next = setup(arr)
2、
/*
function ListNode(x){
this.val = x;
this.next = null;
}
输入:
{1,2,3}
复制
返回值:
{3,2,1}
*/
function ReverseList(pHead)
{
// write code here
}
const res = ReverseList(node1)
console.log(res)
美团一面:
1、项目中遇到的挑战
2、301和302有什么区别
3、浏览器在接收到301和302的时候是如何处理的
4、强缓存和协商缓存
5、协商缓存在浏览器中是如何判断的
6、说一下对cdn的理解
7、有cdn的资源和没有cdn的资源有什么区别
8、如何理解二叉树
9、说一下浏览器的同源策略
10、不同的浏览器同源策略有什么不一样吗
11、浏览器安全方面还做了什么
12、https的加密解密过程
13、进程和线程的关系
14、XSS的攻击方式是什么?如何实现过程
15、如何判断一个对象是否有某个属性
16、如何判断这个属性是实例上还是原型上的呢
17、__proto__和prototype怎么理解
18、箭头函数和普通函数有什么区别
19、esModule和commonJs的差异是什么
2021.8.9
方舟医药:
1、写一个深拷贝
2、写一个节流函数
3、vue的每一个生命周期都做了什么
4、箭头函数和普通函数的区别
5、…………忘记了,都是比较基础的题
阿里健康一面:
1、项目亮点
2、前端做过哪些性能优化
3、首屏优化
4、页面向下滚动卡顿的原因有可能是什么?
5、哪些资源可以使用cdn引入,如何判断
6、前端监控有做过什么
7、编程题:
(1) 、实现reverse()传入第一个节点node1,输出node3
const node3 = {
val: 3, next: null }
const node2 = {
val: 2, next: node3 }
const node1 = {
val: 1, next: node2 }
function reverse(startNode) {
while (startNode.next) {
startNode = startNode.next
}
return startNode;
}
console.log(reverse(node1));
(2)、实现一个防抖函数
function debounce(fn, delay) {
let timer = null;
return function (...arg) {
timer && clearTimeout(timer