• Web大前端面试题-Day10


    1. px和em的区别?

    px和em都是长度单位;
    
    区别是: 
    px的值是固定的,指定是多少就是多少,
    计算比较容易。
    
    em得值不是固定的,并且em会继承父级元素的字体大小。
    
    浏览器的默认字体高都是16px;
    所以未经调整的浏览器都符合: 1em=16px;
    那么12px=0.75em, 10px=0.625em

    2. CSS 去掉inline-block元素间隙的几种方法?

    间隙是怎么来的:
    
    间隙是由换行或者回车导致的;
    只要把标签写成一行或者
    标签直接没有空格,就不会出现间隙;
    
    怎么去除?
    
    方法1:
    元素间的间隙出现的原因
    是元素标签之间的空格,
    把空格去掉间隙自然就会消失。
    <div class="itlike">  <span>撩课itlike</span>
     <span>撩课itlike</span>
    </div>

    方法2: 利用HTML注释标签
    <div class="demo">    <span>撩课itlike</span><!-- -->
       <span>撩课itlike</span></div>

    方法3: 取消标签闭合
    <div class="demo">    <span>撩课itlike    
       <span>撩课itlike    
       <span>撩课itlike    
       <span>撩课itlike
    </div>

    方法4: 在父容器上使用font-size:0;可以消除间隙
    <div class="demo">    <span>撩课itlike</span>    <span>撩课itlike</span>    <span>撩课itlike</span>    <span>撩课itlike</span>
    </div>
       .demo {font-size: 0;}

    3. 在Javascript中什么是伪数组?如何将伪数组转化为标准数组?

    伪数组(类数组):
    无法直接调用数组方法, 
    length属性有什么特殊的行为, 但仍可以对真正数组遍历方法来遍历它们。 典型的是函数的argument参数,
    还有像调getElementsByTagName,
    document.childNodes之类的, 它们都返回NodeList对象,  
    这些都属于伪数组。 可以使用
    Array.prototype.slice.call(fArray)
    将数组转化为真正的Array对象。

    4. 数组快速排序?

    思路:
    a)  在数据集之中,选择一个元素作为"基准"(pivot)。
    b)  所有小于"基准"的元素,都移到"基准"的左边;
        所有大于"基准"的元素,都移到"基准"的右边。
    c)  对"基准"左边和右边的两个子集,
        不断重复第一步和第二步,
        直到所有子集只剩下一个元素为止。 
      var quickSort = function(arr) {   if (arr.length <= 1) { return arr; }   var pivotIndex = Math.floor(arr.length / 2);   var pivot = arr.splice(pivotIndex, 1)[0];   var left = [];   var right = [];   for (var i = 0; i < arr.length; i++){     if (arr[i] < pivot) {       left.push(arr[i]);     } else {       right.push(arr[i]);     }   }   return quickSort(left).concat([pivot],
       quickSort(right)); };

    5. 开发中有哪些常见的Web攻击技术?

    a) XSS(Cross-Site Scripting,跨站脚本攻击):
    指通过存在安全漏洞的Web网站注册用户的浏览器
    内运行非法的HTML标签或者JavaScript进行的一种攻击。
    
    b)SQL注入
    
    c) CSRF(Cross-Site Request Forgeries,跨站点请求伪造):
    指攻击者通过设置好的陷阱,强制对已完成的认证用户进行
    非预期的个人信息或设定信息等某些状态更新。
     
     
     
  • 相关阅读:
    AsyncTask(异步任务)
    Android之listview添加数据篇
    Android之ListView动态添加数据(SQLiteOpenHelper类添加数据)
    Android之sqlite数据库版本升级和降级的处理(onUpgrade和onDowngrade)
    Android中的Sqlite中的onCreate方法和onUpgrade方法的执行时机
    Android之SQLite
    Eclipse快捷键
    Android之微信布局篇
    Android之MainActivity类
    onOptionsItemSelected、onMenuItemSelected、onContextItemSelected 区别
  • 原文地址:https://www.cnblogs.com/qingchunshiguang/p/10413819.html
Copyright © 2020-2023  润新知