zoukankan      html  css  js  c++  java
  • 面试题整理

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

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

  • 相关阅读:
    【9901】数塔问题
    【9704】&&【9109】麦森数
    Javascript继承机制的设计思想
    Javascript继承机制的设计思想
    儿子和女儿——解释器和编译器的区别与联系
    Firebug控制台详解
    Firebug控制台详解
    linux 下 自己写的 html文件产生中文乱码问题 解决办法
    linux 下 自己写的 html文件产生中文乱码问题 解决办法
    (译)Objective-C的动态特性
  • 原文地址:https://www.cnblogs.com/xiaohaoxuezhang/p/4573185.html
Copyright © 2011-2022 走看看