虾皮都是qq视频面试+腾讯文档word写代码
一面 周二早上
-
http 302 301 307之间的区别
HTTP1.1文档中307状态码则相当于HTTP1.0文档中的302状态码,当客户端的POST请求收到服务端307状态码响应时,需要跟用户询问是否应该在新URI上发起POST方法,也就是说,307是不会把POST转为GET的。
对于GET和HEAD方法来说,307是没必要存在的,用302或者303就可以满足需求了,307仅在POST方法的重定向上有用处。
-
301和302对于seo来说哪个更好 (301)
-
跨域是什么、如何解决
-
jsonp有什么缺点
-
图片base64和外链的应用场景,各有什么优缺点(base64减少请求数,但是会增加额外的体积)
-
http缓存机制
-
https的握手过程是怎样的
-
set/map的区别
-
hook的局限性
-
setState和hook的区别
-
decorator的作用,编译后是怎样的(@decorator -> decorator(target)...)
-
symbol是什么,一般用来做什么
-
csrf 是什么 如何防范
-
sql注入是什么,如何防范
-
react 调用setState之后发生了什么
-
nodejs事件循环机制
-
pm2的原理,有哪些模式(cluster fork)
-
docker和k8s有了解多少(k8s听过没用过)
-
移动端端一个元素拖动,如何实现和优化(节流、改变位置)
-for in
/for of
看代码输出
-
几道看代码说输出(忘了具体题目了)
-
描述链表的反转怎样实现,复杂度多少
编程
- 实现
instanceOf
- 实现一个对象被
for of
遍历 - 实现链表的添加、删除。复杂度多少
一面考的都是一些基础知识,需要一定牢固的基础知识准备才行
二面 时间 一面之后的下午
-
给了两段效果上都可以实现child 继承 parent,细节上的差别
function child(){} function parent(){} child.prototype.__proto__ = parent.prototype child.prototype = new parent() 复制代码
-
一些代码看输出的题目。考点有函数
this
指向的问题 -
如何监听html外链资源加载失败(面试官又追问了
onerror
和addEventListener
的error都能吗。面试官说onerror不行,具体我没试过...)
通过
window.addEventListener
来实现,网络异常可以在事件捕获
的阶段捕捉到,addEventListener
第三个参数设置为true
2⃣️ 代码必须放在文档载入之前
3⃣️ 通过e.srcElement
来判断网络错误事件发生的元素https://blog.csdn.net/weixin_28900307/article/details/89441349
-
Mutation Observer
、Intersection Observer
使用场景(Intersection听过没用过) -
127.0.0.1
和0.0.0.0
差别(一个只能通过localhost
,一个可以通过本机ip或者localhost都行) -
利用promise js sleep函数实现
function sleep (time) { return new Promise((resolve) => setTimeout(resolve, time)); } // 用法 sleep(500).then(() => { // 这里写sleep之后需要去做的事情 })
-
jsx转换后是怎样的
JSX =>使用react构造组件,bable进行编译 => JavaScript对象 => ReactDOM.render() => DOM元素 => 插入页面
-
redux
compose
函数做什么的,中间件呢 -
redux-saga
是什么,和redux-thunk
有什么区别 -
dva有了解吗
-
umi.js
有用过吗 -
req.pipe(res)
-
stream 如何处理数据消费和数据生产的速率不一致问题
-
writeable stream
drain
事件是做什么的(这是和一个控制读写速率有关的事件)
二面考得比较细,问了很多看代码问输出的问题,也问了一些比较细节的问题,有些细节的地方确实实际也没接触过。