前端秋招之百度重点难点

1、下面程序输出的结果为: 64 48

function add(m){
    return function b(n){
        return n+m++; //m++先运算,再自增
    }
}
//发生闭包,m未销毁
var add1 = add(070);//m=56
var add2 = add(050);//m=40
console.log(add1(010));//8+56
console.log(add2(010));//8+40

2、(1)设散列表长度为m,散列函数为H(key)=key%p,为了减少发生冲突的可能性,p应取( 小于m的最大素数 )
(2)将线性探测的步长从 1 改为 Q ,即将上述算法中的 j = (j + 1) % m 改为: j = (j + Q) % m ,而且要求 Q 与 m 是互质的,以便能探测到哈希表中的所有单元。

3、下面代码输出的结果为? 5

var func = function(m, n) {
    //在函数里面为arguments赋值的情况下外面传进来的参数起不到任何作用
    arguments[0] = 3;
    arguments[1] = 2;
    return m + n;
}
console.log(func(1, 1));

4、假如有一个无向图G=(V,E)中有8个顶点,那么当有N条边时,我无论怎么用这N条边来连接这8个顶点,都会使图G是连通的,那么N最小是( 22 )

5、result = str.replace(/^\s+|\s+$/, ”),以下str和result能匹配的是
( str = ’ a b c ‘, result = ‘a b c ’ )
解析:
注意细节,没有g,所以只能匹配一个

7、关于Linux命令作用下面说法错误的是() C
A. ps -ef 可以显示所有进程
B. cat /proc/meminfo 可以查看物理内存的大小
C. tar 命令可以用来解压xxxx.gz文件
D. awk 可以对文本和数据处理分析

8、在Linux系统下,有一个文件为”baidu.txt”,如果想为这个文件的所有者赋予可读和可执行权限,应该用下面那个命令?
chmod 500 baidu.txt

9、一个具有4个节点的二叉树可能有(14)种形态?
公式

10、假设现在有8G的数据需要排序,但是计算机内存也只有8G,下面排序最可能出现问题是?
归并排序
解析:空间复杂度,归并排序需要额外的内存空间来保存数据,其他的方式都是在原来数据上做交换

11、以下代码时间复杂度为( O(n) )

for(i=0;i<n;i++)
   x++;
 for(j=0;j<n;j++)
   y++;

12、下面的代码输出的结果为: 111 number

var foo = "11"+2-"1";
console.log(foo);
console.log(typeof foo);

13、下面的代码输出的结果为:moo,bar

Object.prototype.bar = 1;
var foo = {moo: 2};
for(var i in foo) {
    console.log(i);
}

14、下面程序输出的结果为: undefined

var apple = {
    iphone: function(){ return this.phoneVersion; },
    phoneVersion: 7
}
//apple.iphone() = 7,但是看清楚题目
console.log(typeof (app = apple.iphone)());

解析:
(app = apple.iphone)() => 先将方法赋给app,再运行。

15、程序的输出结果为? 6

function sub(a){
    return a - '010';
}
console.log(sub(020));

16、有台计算机使用选择排序对400个数字排序花了400ms,如果花费1600ms,大概能对多少个数字进行排序? 800
解析:
时间复杂度n^2
20^2 = 400 ==> 400个数字
40^2 = 1600 ==> 800个数字

16、将数组[18,17,14,16,15,12,13]用堆排序进行原地升序排序,那么在排序过程中,元素14的数组下标发生几次改变? 2

17、使用冒泡排序为长度为50的数组升序排序,在最坏情况下,比较次数多少? 1225

18、str.replace(/\s+$/g, ”)这个表达式的效果是(去掉str末尾的空格)

19、以下JavaScript程序输出什么(true true false)

var x="undefined";
var y="false";
var z="";
function assert(xVar){
    if(xVar)     
        console.log(true);
    else  
        console.log(false);
}
assert(x);
assert(y);
assert(z);

20、如何使用css 选择器定义某个父元素中所有第”奇数”个子元素的样式:nth-child(odd)

21、对于一个基本有序的序列,想让其全部有序,同时想求其最大的5个数,使用哪种排序算法最好?
插入排序,最好的时间复杂度为O(n)

22、下面哪个算法对单链表排序最快? 快速排序

23、下面关于栈的说法正确的有? B
A. 在栈空的情况下,能做退栈运算,因为下标一般为-1
B. 栈一般可以用来实现递归
C. 序列为a,b,c入栈,入栈之后随时可以出栈,出栈序列可以有4种
D. 共享栈不能用来减少内存的开销

24、图G的邻接矩阵表达如下,那么G的顶点数和边数为: 5,7

0 0 1 1 1
0 0 1 1 0
1 1 0 1 0
1 1 1 0 1
1 0 0 1 0

解析:
对称矩阵 => 无向图

猜你喜欢

转载自blog.csdn.net/qq_41401130/article/details/82149244