字节教育部门前端二面 校招

今天刚完成了字节二面(感觉凉了,第一题算法犯了很蠢的错误,后面全对了,但是感觉挽回不了了)
先看一下我的问题吧:
先是手撕了两道代码题:
1.给两个有序数组,进行一个合并去重,并且保证有序:
刚开始我用的set+sort ,然后面试官要求我实现一个o(n)的算法,也就是归并排序,然后我在进行归并过程中犯了很蠢的错误:
function c(a,b){
    let arr = [];
    while(a.length>0 && b.length>0){
        if(a[0]>b[0]){
            if(arr.indexOf(b[0])===-1){
                arr.push(b.shift());
            }else b.shift();//我写的continue
        }else{
             if(arr.indexOf(a[0])===-1){
                arr.push(a.shift());
            }else a.shift();//我写的也是continue
        }
    }
    if(a.length) arr.concat(a);
    if(b.length) arr.concat(b);
    
    return arr;
}

两个continue直接让循环陷入死循环了,看了半天也没看出来,挺蠢的😭😭😭
2.
求一个字符串最长的没有相同字符的连续子串
输入  abcdcdhil
输出  cdhil
function maxLength(str){
    let sum = '';
    let num = 0;
    let arr = [];
    for(let i = 0; i<str.length; i++){
        let char = str.charAt(i);
        let index = sum.indexOf(char);
        if(index === -1){
            sum += char;
            num = Math.max(sum.length, num);
        }else{
            arr.push(sum);
            sum = sum.substr(index + 1) + char;
        }
    }
    arr.push(sum);
    for(let i = 0; i<arr.length; i++){
        if(arr[i].length>sum.length){
            sum = arr[i];
        }
    }
    return sum;
}
3.连续的看代码说输出:
(1).
var a = 3;
var obj = { 
  a: 5,
  fn: function() {
    this.a = 10;
  }
}
var fn2 = obj.fn;
fn2();
console.log(a);
console.log(obj.a)
答案 10   5
(2).
console.log(a);
const a = function a() {
  console.log('a');
};
报错
(3).
function a() {
    console.log('a');
    Promise.resolve().then(() => {
      console.log('e');
    });
}

function b() {
    console.log('b');
}

function c() {
  console.log('c');
}

function d() {
    setTimeout(a, 0);
    var temp = Promise.resolve().then(b);
    setTimeout(c, 0);
    console.log('d');
}
d(); 
输出dbaec
4.知道我是软件工程的之后问了我进程和线程的区别,然后问了我进程之间通信(我回答的也不是很好,基本是正确的)
5.数据库里事务的定义和事务的四大特征

大概就是这么多,全程大概一个多小时,然后还是时间过长或者我凉了,面试官没有给我反问的机会😶😶😶
害,静静等一下结果好了,许愿一个三面


#校招##前端工程师##面经#
全部评论
var a = 3; var obj = {    a: 5,   fn: function() {     this.a = 10;   } } var fn2 = obj.fn; fn2(); console.log(a); console.log(obj.a)  大佬,为什么是10和5
1 回复
分享
发布于 2021-03-31 01:02
楼主三面面完了吗
1 回复
分享
发布于 2021-04-12 10:58
联想
校招火热招聘中
官网直投
楼主是北京岗位嘛
点赞 回复
分享
发布于 2021-04-05 08:27
想请教楼主为准备了多久呀,感觉楼主的基础好扎实
点赞 回复
分享
发布于 2021-04-06 09:37

相关推荐

4 24 评论
分享
牛客网
牛客企业服务