转载

面试题整理

到今天陆陆续续面试了几家公司的前端,今天就把所有遇到的面试题整理一下。

css部分

question 1.如何进行行内断句?

answer:有两种。1:word-wrap:break-word;  把太长字符串截断到下一行。

2:word-break:break-all;  直接进行单词内断句,节省空间。

ps:资料: word-wrap和word-break ;

question 2:如何用css画一个圆?

answer:使用border-radius;

quertion 3:如何在保证盒子模型大小不变的情况下增加border?

answer:使用box-sizing:border-box;

question 4:如何用css实现省略号?

answer:使用text-overflow:ellopsis;和overflow:hidden;一起使用。

question 5:如何实现旋转?

answer:transform:rotate(10deg);

PS:skew(10deg,10deg)(扭曲),scale(2,2)(缩放),translate(10px,10px)(移动)

question 6:css优先级?

answer:选择器越精准,优先级越高,id选择器>类选择器>派生选择器。

内联式(style = “color:red”)>内嵌式(<style>) > 链接(<link>)> 导入(import)

question 7:float的特性,如何清除浮动?

answer:float具有破坏性,会导致父元素的高度塌陷,清除浮动一般用clear:both;和overflow:auto;

question 8:设置文字图片行内居中?

answer:vertical-align:middle;/* 内容以对象中部对齐*/

question 9:如何让块级元素垂直水平居中?

answer:这个问题直接贴资料链接吧,虽然我自己实现过一次,但目前还没掌握如何贴可以运行的代码。

ps:资料: 块级元素水平垂直居中 。

在我很多次面试中,面试官都偏向于css的基础还有css3的新特性,之前把所有css模糊的地方都自己实现了一遍以后,感觉还是挺好的,包括如何用css画三角形,这些都挺有意思的东西,慢慢掌握吧,前端知识还很多。

js部分

question 1:闭包如何理解?如何运用?

answer:用2句话概括下闭包。1.闭包是引用着外部变量的内部函数。2.所有函数都是闭包。一般运用是匿名闭包(IIFE),也叫立即执行的函数表达式,优点是:模块化,可重用,实现信息隐藏,只暴露出public方法,最大的优点是不污染变量对象。

ps:感觉很奇怪,几乎每个面试官都问了闭包的知识,但很少问原型和作用域链。

question 2:js实现继承的方法?

answer:4个方法,最常用的是原型继承,还有构造函数实现继承,还有call和apply实现继承。

question 3:call和apply的作用和区别?

answer:这2个方法的作用都是指定作用域,区别是apply的第二个参数必须是数组。

question 4:如何实现数组去重?

answer:

var a = [1,2,2,3,4,5,6,5,3,4,7,7,77]; function noRepeat(target){  var result = {};  for(var i = 0,len = target.length;i<len;i++){   result[target[i]] = target[i];  }  return Object.keys(result); } console.log(noRepeat(a));  

question 5:seajs和requirejs的区别?

answer:seajs是CMD规范,requirejs是AMD规范,一个是迟加载一个是预加载。

PS:回答比较粗略,可以查看资料: seajs和requirejs的区别

question 6:之前写过什么jQuery插件吗?

answer:写过一个图片轮播和日历的插件,图片轮播在下一篇博文中实现。

还是觉得JS问的太少,因为我平时研究框架设计,学习prototype.js,深入的理解原型和作用域链和闭包,但感觉施展不出来,不过,这些都是晋级JS高手必备的东西,我掌握了,以后总会有用处。

至于http协议和浏览器渲染过程也是问的比较多,推荐大家看2篇非常经典的博文。足以应付很多问题。

1:浏览器工作原理

2:http协议详解

正文到此结束
Loading...