前端面试题(公众号)---打卡1(补充以前的)

1、以下代码输出什么?

console.log("one");
setTimeout(function(){
    console.log("two");
},0);
Promise.resolve().then(function(){
    console.log("three");
})
console.log("four");

答案:one four three two

解析:

2、传统式上,为什么从多个域提供站点资源更好?

因为单个域名可能会慢,因为浏览器限制了单个域名的并发数量,而用多个域名来服务总的并发数上线就可以达到“域名个数*限制树”了,提高并发加快整体速度的效果。

核心:旨在改善http响应时间并避免拥塞。

注:如果不是这种资源密集型的网站是不推荐使用domain sharding的,因为你使用多个域名同样有多个域名的性能问题,因为即使是同一个服务器它也会需要建立多个连接,而且https/http2建立连接的成本比又http高了许多。

3、描述从输入网站的URL到完成加载到屏幕上的过程?

4、long-polling,websockets和server-sent events之间的有什么区别?

相同点:为了实现服务器端和客户端之间的通信。

5、尽可能详细的解释ajax,实现封装ajax,简书ajax的优缺点。

解释:Asynchronous JavaScript and XML,JavaScript执行异步网络请求。

标准写法和IE写法混在一起:

var request;

if (window.XMLHttpRequest) {

request = new XMLHttpRequest();

} else {

request = new ActiveXObject('Microsoft.XMLHTTP');

}``

注释:(1)XMLHttpRequest对象的open()方法有3个参数,第一个参数指定是GET还是POST,第二个参数指定URL地址,第三个参数指定是否使用异步,默认是true,所以不用写。

(2)注意,千万不要把第三个参数指定为false,否则浏览器将停止响应,直到AJAX请求完成。如果这个请求耗时10秒,那么10秒内你会发现浏览器处于“假死”状态。

(3)最后调用send()方法才真正发送请求。GET请求不需要参数,POST请求需要把body部分以字符串或者FormData对象传进去。

注意:Ajax虽然是最古老的免刷新交互但它现在也依然是主流;一个阻塞可能是考点,IO、网络的逻辑都可能阻塞,避免阻塞才能写出高性能高质量的程序;一个同源策略可能成为考点,这是浏览器安全机制的一部分,从安全和浏览器熟悉的角度都应该掌握;一个技术选型可能是考点,比如简单ajax还是long polling,还是JSONP、SSE、WebSocket他们各有各自的特点,各自适合的场景

详细信息请见:https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434499861493e7c35be5e0864769a2c06afb4754acc6000

 

明天继续!!!

题外话:(3月18日)

今天面试了一家公司,在此进行总结:

1、笔试题

前端面试题(公众号)---打卡1(补充以前的)_第1张图片

前端面试题(公众号)---打卡1(补充以前的)_第2张图片

前端面试题(公众号)---打卡1(补充以前的)_第3张图片

 

前端面试题(公众号)---打卡1(补充以前的)_第4张图片

 

前端面试题(公众号)---打卡1(补充以前的)_第5张图片

面试题:

1、position中absolute和relative的区别

   怎么实现一个div随着页面滚动也进行动:position:fixed;

2、em的原理

3、怎么实现响应式的布局

4、获取JavaScript中获取id,绑定事件的方法

5、箭头函数

6、promise和ajax的区别,或者有什么优点

7、let和const的区别

8、promise是同步还是异步的

9、vue的生命周期

10、vue的父子组件、兄弟之间传递函数

11、vue中怎么进行数据传递,获取数据模板,数据渲染,(其实没听懂问的啥)

13、vuex用过吗?

14、怎么校验表单,用过校验插件吗?

15、性能优化的方式。

 

可能有点乱...凑合看

 

你可能感兴趣的:(面试题)