shopee一面
1.用过什么jQuery组件库?
2.实现map方法
3.实现Promise.all
4.http请求方法有哪些?
http1.0:GET、POST、HEAD
http1.1新增:OPTIONS、PUT、DELETE、TRACE、CONNECT
5.解释同源策略。跨域请求解决方案?
协议、域名、端口相同。
6.谈谈http缓存
强缓存、协商缓存
看代码说输出:(这两道会的同学能不能评论解释下?)
1.
function Parent() { this.realname = "Parent"; } function Tom() { this.realname = "Tom"; } Parent.__proto__.print = function () { console.log(this.realname); }; Parent.print(); Tom.print(); var parent = new Parent(); parent.print();
输出:
undefined
undefined
parent.print()报错提示 parent.print is not a function
2.
var a = 10; var obj = { a: 20, say: () => { console.log(this.a); }, }; obj.say(); var anotherobj = { a: 30 }; obj.say.apply(anotherobj);输出:
10
10
字节二面
比较灵活,问项目。因为我就一个小程序项目,里面写了三个优化工作:长列表懒加载;websocket实现订单实时播报;本地存储(其实是全局变量存的😂)购物车数据减少请求次数。
1.为什么要懒加载?不优化有什么问题?列表没有图片呢也解析慢吗?为啥节点多解析就慢啊?
2.全局变量存储购物车数据?🙄那程序意外退出你怎么处理?数据不就没啦?(这个请看下面的百度一面,我从百度面试的问题里想清楚了答案😂)有必要减少请求吗?购物车操作会很频繁?(我说是吧改数量也算改信息啊)那我频繁操作你怎么解决?(我说用节流?但是面试官不赞同的样子)
问的这些原因我不会答,不太明白面试官的点在哪里,然后他也没告诉我正确答案。😣
基础问题:
1.实现一个寄生组合式继承
2.解释一下new实现原理。如果构造函数本身有返回值呢?
new在构造函数没有return的情况下默认返回新创建的对象。在有return的情况下,需要分为两个情况考虑:
1)如果return值为基本数据类型(string,number,boolean,undefined,null),则new返回值为新建对象实例
2)如果return值为引用数据类型,则new返回值为构造函数返回值
3.实习时用postman测试的接口是什么协议啊?
4.http和https区别?
5.SSL/TLS是哪一层的?(我说位于http和tcp中间,他就还是追问,我说应用层,他问应用层什么位置,我说http下层。看表情是不对,然后他问)属于TCP/IP吗?(我说不属于。这个问题会的同学能解释一下吗?)
6.http请求方式有哪些?
7.谈谈http缓存
8.进程和线程。它们通信方式的区别?
9.计算机的组成部分:控制器、运算器、存储器、输入设备、输出设备
算法部分:
1.二叉树先序遍历
2.数组去重
3.大数求和
猿辅导二面
1.实现Promise.all
2.实现reduce方法
3.解释EventLoop
4.setTimeout和setInterval区别?如果一个功能两者都能实现你选谁?(选谁啊?😂)
5.解释事件捕获和冒泡
6.z-index层叠规则
7.面向对象的特点?与面向过程区别?
8.有哪些解耦方式?
百度一面
1.项目技术栈、难点介绍。购物车数据全局变量存储和本地存储差别在哪里?
2.浏览器输入url到页面加载完毕的过程
3.DNS怎么把域名解析成IP地址?
4.WebSocket原理
5.cookie、token原理和作用
6.谈谈csrf和防御方式
7.es6新特性
8.模版字符串,写道题。用正则匹配
9.html5新特性?语义化标签的作用?有助于SEO
10.实现响应式布局的方式
11.js闭包解释
12.js常用的设计模式?实现一个发布/订阅者模式。观察者模式和发布/订阅者模式的差别?
13.js处理异步的方式
回调函数、promise、generator、async/await
14.promise解决了什么问题?自身有什么不足?
15.用过哪些css预处理器?用预处理器的好处?
16.实现双栏布局的方式
17.谈谈tcp连接
18.js的数据类型有哪些?数据结构有哪些?
全部评论
(4) 回帖