当前位置: 移动技术网 > IT编程>网页制作>CSS > 分享:你所需要知道的前端面试题和答案

分享:你所需要知道的前端面试题和答案

2018年03月19日  | 移动技术网IT编程  | 我要评论

http的请求方法有哪些?

head,get,post,put,delete,option,traceback,connection

Http和Https的区别?

http的默认端口是80,而https的默认端口是443。

http传输的数据是明文的,而https传输的数据是加密的,https会建立信息安全通道,并且会对服务器做验证。在主流搜索引擎中,他们更倾向于抓取https的页面,也就是说https利于。

http在建立连接时需要三次握手,断开连接时需要四次挥手。/https也是三次握手和四次挥手/

https需要ca证书认证,其中的s其实指的是ssl。

JS实现继承的几种方式?

原型链继承 构造继承 实例继承 拷贝继承 组合继承 寄生组合继承

详见这位大神的博客,传送门

什么是JS的严格模式?

设立严格模式的目的主要是在一个更加规范的JS环境中,正确的编码运行,为未来的编码做准备。使用严格模式的方法是“‘use strict’”,作用域为当前块级作用域。如果在首行,则是整个文件都将使用严格模式。如果在函数开头,则整个函数作用域为严格模式。相关博客传送门。

什么是Sass和Less?

Sass是基于Ruby的,是在服务器端处理的。而less是基于JavaScript的,是在客户端处理的。sass和less都是css预处理器,也就是说,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件。

你所知道的浏览器内核?

IE浏览器的内核是trident,FireFox的内核是Gecko,Opera的内核是presto,后来变成了WebKit ,Chrome的内核是blink。

NodeJs的优点是什么?

NodeJs适用于高并发的场景,异步非IO阻塞,不适用于密集计算。传送门

如何进行SEO优化?

尽量使用https协议,尽量将页面静态化,页面title尽量简短,meta标签中的keyword不要太宽泛。页面深度不超过三层,减少页面加载时间。使用Robot.txt,等等。

src和href的区别?

src通常指的是外部资源连接,而href表示的是网络资源,也可建立链接。通常情况下,当页面加载到src连接的资源时,会被阻塞,直到被页面加载进来,这也就是为什么外部script应该放在页面底部而不是head中。

JS中的垃圾回收机制

常见的垃圾回收机制有两种:引用计数和标记清除。Js一般采用的是后者。所谓引用计数是指跟踪记录每个值被引用的次数。当声明了一个变量并将一个引用类型赋值给该变量时,则这个值的引用次数就是1。相反,如果包含对这个值引用的变量又取得了另外一个值,则这个值的引用次数就减1。当这个引用次数变成0时,则说明没有办法再访问这个值(也就是原来的那个引用类型)了。

标记清除是指当对象进入运行环境的时候,为其增加标记。运行结束或者移出运行环境的时候删除标记。最后,垃圾收集器完成内存清除工作。

关于跨域的解决办法?

使用jsonp,缺点是只能使用get请求,并且不能够知道是否请求失败 服务器允许访问,cors跨域资源共享 document.domain 允许跨子域 window.name window.postMessage,html5的新方法

你有没有见过这样的闭包?试试看下面这道题?

var add = function(x){  
    var sum = 1;  
    var tmp = function(x){  
        sum = sum + x;  
    return tmp;  
    }  
    tmp.toString = function(){  
        return sum;  
    }  
    return tmp;  
}

add(10)(2)(3)//输出什么?

结果是6,参考链接

position中的可能取值?

relative,absolute,static,fixed,sticky,initial,inherit,unset….

没想到吧,竟然有八个…

JS异步编程有几种方式?

回调函数 事件监听 发布/订阅 Promise对象

前端性能优化的注意点是什么?

页面加载时:减少http请求(懒加载方式,异步加载),减少css、js的大小,使用CDN加速 页面加载中:将script外部资源放于页面底部,css放于页面顶部。减少重绘和回流。尽量使用css而不是图片。 JS执行时:尽量减少dom操作

rem、em的区别?

rem是相对于根节点或者说是浏览器字体的默认大小而言的。通常情况下1rem = 16px。而em是相对父元素的字体大小,或者最近父元素的字体大小。

了解过ES6和React吗?

加分项

有过移动端开发经验吗?

加分项,基本上是html5的新特性的使用。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网