拼多多2018提前批前端笔试总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了拼多多2018提前批前端笔试总结相关的知识,希望对你有一定的参考价值。

题型:14单选、5不定项选择、3问答(比较基础的编程)

1.编程题

(1)给定一个包含N个整数的数组A,找出所有不一样的组合 i 、j、k ,使得 A[i]+A[j]+A[k]=0; 例如 A=[-1,0,1,2,-1,4],输出为[-101],[-1,-1,2]。请用javascript实现。

思路:使用三层遍历循环,求出满足使得  A[i]+A[j]+A[k]=0 的所有可能的 i 、j、k 组合;对得到所有组合进行排序;最后删除掉重复的组合并输出就是所得的结果。

function sum(arr){
    var n = arr.length;
    var result = [];
    for(var i=0; i<n-2; i++){
        for(var j=1; j<n-1; j++){
            for(var k=2; k<n; k++){
                if(arr[i]+arr[j]+arr[k] == 0){
                    var temp = [arr[i], arr[j], arr[k]];
                    result.push(temp);
                }
            }
        }
    }
    //子数组排序
    result.forEach(function(item){
        return item.sort();
    });
    //二维数组的去重
    var hash = {};
    var newArr = [];
    for(var i=0,len=result.length; i<len; i++){
        if(!hash[result[i]]){
            newArr.push(result[i]);
            hash[result[i]] = true;
        }
    }
    // console.log(hash);
    console.log(newArr);  //[ [ -1, 0, 1 ], [ -1, -1, 2 ] ]
}
sum([-1,0,1,2,-1,4]); 

(2)写一个mul函数,使得方法如下:

console.log(mul(2)(3)(4)); //output:24
console.log(mul(4)(3)(4)); //output:48

解题如下:

function mul(i){
    return function(j){
        return function(k){
            return i * j * k;
        }
    }
}
console.log(mul(2)(3)(4)); //output:24
console.log(mul(4)(3)(4)); //output:48

(3)使用标准的dom方法或属性编写一段javascript脚本生成下面这段dom结构。

<div id="pdd">
    <p class="pdd-slogan">多实惠,多乐趣</p>
</div>

方法1

    var div = document.createElement(‘div‘);
    div.id = ‘pdd‘;
    var para = document.createElement(‘p‘);
    para.className = ‘pdd-slogan‘;
    para.innerhtml = "多实惠,多乐趣";
    div.appendChild(para);
    document.body.appendChild(div);

方法2

    var div = document.createElement(‘div‘);
    div.setAttribute(‘id‘, ‘pdd‘)
    var para = document.createElement(‘p‘);
    para.setAttribute(‘class‘, ‘pdd-slogan‘);
    var text = document.createTextNode("多实惠,多乐趣");
    para.appendChild(text);
    div.appendChild(para);
    document.body.appendChild(div);

 

以上是关于拼多多2018提前批前端笔试总结的主要内容,如果未能解决你的问题,请参考以下文章

(4道全A)拼多多2021届提前批-服务端研发工程师笔试

2021校招 拼多多提前批

前端 2018 届校招笔试面经百度,阿里,腾讯,阿里文娱,携程,美团,拼多多

2017年9月秋招记录--持续更新

拼多多2018/8/5算法工程师笔试

2018 拼多多 校招真题 最大乘积