【面試篇】2017騰訊IMWeb前端秋招特訓營思考題

7月12日

思考題

  • 題一:站點Logo是否應該出如今<h1>標籤中?面試

  • 題二:是否應該支持IE6?編程

面試題

  • 什麼是盒子模型?
    答:margin,border,padding,content;標準盒和怪異盒數組

  • 簡述src和href的區別?
    答:src從外部引入資源,href將頁面導向外部資源app

  • 簡述同步和異步的區別?
    答:同步:當前進程執行完後,下一個進程才能執行;異步:當前進程的執行不影響下一個進程的執行異步

  • 怎樣添加,移除,移動,複製,建立和查找節點?
    答:添加節點appendChild,移除節點removeChild,複製節點clone,建立createElement,查找節點parentNode,childNodesspa

編程題

  • 找出元素item在給定數組arr中的位置code

clipboard.png

編程思路:二分查找

function indexOf(arr, item) {
    var arr = arr.sort(function(a,b){
        return a-b;
    });
    function binSearch(arr,item){
        var upperBound = arr.length-1;
        var lowerBound = 0;
        while(lowerBound<=upperBound){
            var mid = Math.floor((upperBound+lowerBound)/2);
            if(arr[mid]<item){
                lowerBound=mid+1;
            }else if(arr[mid]>item){
                upperBound=mid-1;
            }else{
                return mid;
            }
        }
        return -1;
    };
    return binSearch(arr,item);
};
var line = readline();
var lastIndex = line.lastIndexOf(",");
var arr = line.slice(0,lastIndex).match(/\d/g);
var num = parseInt(line.slice(lastIndex+1));
indexOf(arr,num);
  • 計算給定數組arr中全部元素的總和進程

clipboard.png

編程思路:迭代器簡化代碼量

function sum(arr) {
    function add(runningTotal,currentValue){
        return runningTotal+currentValue;
    }
    return arr.reduce(add);
}
相關文章
相關標籤/搜索