Open Sunshine168 opened 6 years ago
记录一下吧,毕竟面试经验比较少,也是成功斩获了offer。
样例
输入
https://www.google.com?q=test&a[a]=a&a[b]=c
输出
{ "q": "test", "a":{ "a":"a", "b":"c" } }
12345678.8091
12,345,678.809,1
(。。第二轮的面试官竟然是写java的。。。)
https://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html http请求由三部分组成,分别是请求行,信息报头,请求正文。
例子
GET /dumprequest HTTP/1.1 Host: rve.org.uk Connection: keep-alive Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Referer: https://www.google.com/ Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
请求行
GET /dumprequest HTTP/1.1
请求方法 请求URL HTTP协议版本
后面接着的就是信息报头即header
最后就是请求的body
https://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html HTTP响应也是由三个部分组成,分别是:状态行、信息报头、响应正文
HTTP/1.1 200 OK Date: Fri, 27 Apr 2018 05:20:58 GMT Content-Type: text/html; charset=UTF-8 Content-Length: 0 Connection: keep-alive Set-Cookie: aliyungf_tc=AQAAABqIYG7paggAVsE2t8k81yC/SfQ1; Path=/; HttpOnly Access-Control-Allow-Origin: * X-Req-ID: 1A94B0F05AE2B33A X-Req-SSL: proto=TLSv1.2,sni=api.zhihu.com,cipher=ECDHE-RSA-AES256-GCM-SHA384 Server: ZWS Vary: Accept-Encoding
状态行 由协议 状态码 代码的文本描述
响应报头
最后就是响应的body
这里只列我有了解的 Get、Post、Put、Delete、Options、Head
options 1、获取服务器支持的请求类型 2、检查服务器性能
100 询问是否接受该信息 支持再传输body
101 切换协议,例如websocket,第一个请求询问是否支持,支持则切换
200 成功 204 请求成功,返回的是空数据一般用于更新数据 206 分块传输
301 永久重定向 302 暂时重定向
以上两者对于用户都是重定向,但是对于引擎和网站拥有者的意义不一样。
304 访问的是本地缓存
404 找不到
403 禁止访问
https://github.com/CRAlpha/react-native-wkwebview 应该是要用这个替换原来react-native的 UIWebView
在不支持websocket的时候可以使用轮序
发送请求询问是否支持websocket 支持的话切换到这个协议
我想到的思路是分块遮盖一个圆,不过实际上回来看了一下
回来搜了一下 见:https://blog.csdn.net/ganyingxie123456/article/details/77934790
记录一下吧,毕竟面试经验比较少,也是成功斩获了offer。
电面
第一轮手写功能函数
解析一个url特殊封装的query
样例
输入
https://www.google.com?q=test&a[a]=a&a[b]=c
输出
将数字转换为固定格式的字符串
输入
12345678.8091
输出
12,345,678.809,1
第二轮
(。。第二轮的面试官竟然是写java的。。。)
写一个简单的ListView组件
http的包是什么样子的
http请求
https://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html http请求由三部分组成,分别是请求行,信息报头,请求正文。
例子
请求行
请求方法 请求URL HTTP协议版本
后面接着的就是信息报头即header
最后就是请求的body
http响应
https://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html HTTP响应也是由三个部分组成,分别是:状态行、信息报头、响应正文
状态行 由协议 状态码 代码的文本描述
响应报头
最后就是响应的body
http请求的几种类型
这里只列我有了解的 Get、Post、Put、Delete、Options、Head
options 1、获取服务器支持的请求类型 2、检查服务器性能
http响应吗
100 询问是否接受该信息 支持再传输body
101 切换协议,例如websocket,第一个请求询问是否支持,支持则切换
200 成功 204 请求成功,返回的是空数据一般用于更新数据 206 分块传输
301 永久重定向 302 暂时重定向
以上两者对于用户都是重定向,但是对于引擎和网站拥有者的意义不一样。
304 访问的是本地缓存
404 找不到
403 禁止访问
RN上面动画不流畅的时候要怎么解决?
RN上面在ios上webview性能太低要怎么解决?
https://github.com/CRAlpha/react-native-wkwebview 应该是要用这个替换原来react-native的 UIWebView
socket.io 除了websocket通讯还有什么其他通讯手段?
在不支持websocket的时候可以使用轮序
websocket 请求第一步是什么?
发送请求询问是否支持websocket 支持的话切换到这个协议
用html + css 实现一个扇形 讲讲思路?
我想到的思路是分块遮盖一个圆,不过实际上回来看了一下
回来搜了一下 见:https://blog.csdn.net/ganyingxie123456/article/details/77934790
前端性能优化
实现一个Promise