2018前端面试题1

1.css盒子模型概念

答:padding,margin,border

2.html渲染过程

答:解析HTML--构建DOM树--DOM树与CSS样式进行附着构造呈现树--布局--绘制

 

当浏览器遇到一个 script 标记时,DOM 构建将暂停,直至脚本完成执行。
JavaScript 可以查询和修改 DOM 与 CSSOM。
CSSOM 构建时,JavaScript 执行将暂停,直至 CSSOM 就绪。

3.移动web开发和pc开发有何不同

 

答:

1.pc端没有触摸的各种事件,移动端有;移动端没有鼠标移入移出事件,但是pc端有

2.Pc端最常用的布局是固定宽度为980px(也有960px,1000px,1200px);而在移动端,因为有很多网页是可以横屏看也可以竖屏看,并且很多屏幕的饿分辨率都    是不一样的,所以只要牵涉到移动端都要考虑用响应式布局
3.Pc布局考虑更多的是浏览器的兼容性,但是在移动端,考虑更多的是手机兼容性,因为手机的型号类型非常的多,导致屏幕的分辨率是不一样的
4.移动端触摸弹出的手机键盘处理也是在pc端不会遇到的问题。
5.移动端和pc端适用的js框架也是不一样
6.Pc端浏览器内核有很多,webkit,Gecko,。。。。,但是移动端的浏览器内核比较单一,基本都是webkit以及webkit相关的blink
7.Pc端的交互是鼠标,键盘的交互而移动端变成了触摸,手势的交互

 

4.什么叫优雅降级和渐进增强

 

 

答:优雅降级是从复杂的现状开始,并试图减少用户体验的供给,而渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要。

5.Node.js适用场景

答:NodeJS适合运用在高并发、I/O密集、少量业务逻辑的场景

6.对node的优缺点提出自己的看法

优点:高并发,I/O密集

缺点:1. 不适合CPU密集型应用;CPU密集型应用给Node带来的挑战主要是:由于JavaScript单线程的原因,如果有长时间运行的计算(比如大循环),将会导致CPU时间片不能释放,使得后续I/O无法发起;
解决方案:分解大型运算任务为多个小任务,使得运算能够适时释放,不阻塞I/O调用的发起;
2. 只支持单核CPU,不能充分利用CPU
3. 可靠性低,一旦代码某个环节崩溃,整个系统都崩溃

7.web应用从服务器主动推送Data到客户端有哪些方式?

1)  html5 websocket
2)  WebSocket 通过 Flash
3)  XHR长时间连接
4)  XHR Multipart Streaming
5)  不可见的Iframe

6) 

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