京东校招面试汇总
11/22 技术2面
一面技术面:
1,v-if 和 v-show 的区别:
v-if是通过控制dom节点的存在与否来控制元素的显隐;
v-show是通过设置DOM元素的display样式,block为显示,none为隐藏;
v-if切换有一个局部编译/卸载的过程,销毁和重建内部的事件监听和子组件;
v-show只是简单的基于css切换;
v-if有更高的切换消耗;
v-show有更高的初始渲染消耗
2.vue生命周期
3.vue的双向数据绑定
4.浏览器兼容适配
5.api接口规范(head请求头信息和body信息)
6.MVC
7.后端如何主动推送数据给客服端
A. WebSocket.
客户端向WebSocket服务器通知(notify)一个带有所有接收者ID(recipients IDs)的事件(event),服务器接收后立即通知所有活跃的(active)客户端,只有ID在接收者ID序列中的客户端才会处理这个事件。由于WebSocket本身是基于TCP协议的,所以在服务器端我们可以采用构建TCP Socket服务器的方式来构建WebSocket服务器。
采用Node.js的ws库来实现简单的WebSocket服务器.
B.XHR长轮询.
客户端打开一个到服务器端的 AJAX 请求然后等待响应;服务器端需要一些特定的功能来允许请求被挂起,只要一有事件发生,服务器端就会在挂起的请求中送回响应并关闭该请求。客户端 JavaScript 响应处理函数会在处理完服务器返回的信息后,再次发出请求,重新建立连接;如此循环。
C.iframe
iframe 是很早就存在的一种 HTML 标记, 通过在 HTML 页面里嵌入一个隐蔵帧,然后将这个隐蔵帧的 SRC 属性设为对一个长连接的请求,服务器端就能源源不断地往客户端输入数据。
现在浏览器已经支持CROS的跨域方式请求,因此HTTP和JSONP的长轮询方式是慢慢被淘汰的一种技术,建议采用XHR长轮询。
前后端如何保持长连接?---websocket:长连接,双向的
a. pc端的应用,一般会采用前端定时请求后台;
b. app定时去访问后台的话,对用户来说并不友好,会消耗大量的流量,移动端最好的方式就是后台主动向app推送信息;
c. H5提供了一种比较好的方式是websocket,打开app后,向后台发出请求,后台响应后,就可以实时向前端推送信息了,而无需app再次去访问;
websocket的前端实现方法:https://www.cnblogs.com/liaolei1/p/7477400.html
8.优化网站性能
9.单点登录
二面项目经理面:
1.使用的技术栈
2.做过的项目
3.数据过大,如果处理