面试题整理

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

 

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协议详解

posted @ 2015-06-13 11:21  樱良orz  阅读(1093)  评论(0编辑  收藏  举报