面试

  1. 字节提前批一面
    1. 总结

字节提前批一面

😅戴了一小时痛苦面具

面试官先来了自我介绍,好像姓李,名忘了,字节教育那一块的。
然后我的自我介绍

开始:

  1. 拿出我的简历,问:说说项目难点,我想了想:没啥难点,之前看了点 session,就说这个吧。说了一堆后,感觉表述混乱了,因为面试官一脸懵逼。又反复问了 session 怎么处理的,没问出个所以然来。面试官最后直接问:说说 session 和 cookie 的区别,cookie 不安全,session 就一定安全?怎么做安全防范?

  2. HTTP 和 HTTPS,能够详细说一下 HTTPS,加密过程吗?HTTPS 是否只用了对称加密?

  3. TCP 为什么需要三次握手,而不是两次,四次?被怼了好久,都感觉自己背的八股到底对不对了

  4. 经典问题,GET 和 POST 区别。

  5. 了解 HTTP1.0 和 2.0 吗?说说区别?

  6. 开始 JS 的题目了。

  7. ES6 的 extends 用过吗?

  8. 说说 prototype__proto__

     function test(){
     }
     let obj = {}
    

    以上面代码为例,说说上面 test 和 obj 的 prototype__proto__

  9. 给定代码,写继承

     function father(){
         this.test = ()=>{
             console.log(1)
         }
     }
     function son(){}
    
     let obj = new son()
    
     obj.test()

    son 继承 father

  10. number 类型的数字过大存不下怎么办?是显示 Infinitely 还是截断截取?学过 C 语言和 Java 没有?它们的数值有没有相关问题?

  11. 0.1+0.2 的结果(数值相关的问题追着问我了好久)

  12. 使用 JS 实现一个 repeat 方法,

    function repeat (func, times, wait) {},
    const repeatFunc = repeat(alert, 4, 3000),

    调用这个 repeatedFunc(“hellworld”),
    alert4 次 helloworld, 每次间隔 3 秒
    我写的代码:不知道对不对。。。先粘这

    function repeat(func, times, wait) {
    let t = times;
    let lock = null;
    return (arg) => {
            while (times > 0) {
                if (lock !== null && times > 0) {
                    lock = setInterval(() =>{
                    func(arg);
                    times -= 1;
                    lock = null;
                }, wait)
                }
            }
        }
    }
  13. 说说基本类型,我写了六个,面试官提示有七个,我说还有 BigInt,只知道存储大整数的。

  14. apply,call,bind 的区别

  15. 你说熟悉 balabala 数据结构,挑一个数据结构,我出个题。我挑的数组。给的是求数组最大序列和,与 leetcode 不同,要求给出最大序列和的具体索引。
    我当时写的代码:是不对的,先粘这

    function solu(arr) {
        let pre = arr[0];
        let maxAns = arr[0];
        let q = [0];
        for (let idx = 1; idx < arr.length; idx++) {
            pre = Math.max(pre + arr[idx], arr[idx]);
            if (pre === arr[idx]) {
                q = [];
                q.push(idx);
            } else {
                q.push(idx-1);
                q.push(idx);
            }
            maxAns = Math.max(pre, maxAns);
        }
        let res = [];
        for (let i of q) {
            res.push(arr[i]);
        }
        return res;
    }
  16. 反问,技术栈?我需要补充哪些知识?

    面试官: 大部分是 React,也有 Vue,看具体场景。你的基础知识不好。我感觉对应届生来说,上来就要你多少多少框架的公司并不好。计网,HTTP,TCP,JS 的基础问题是面试必定会问的,要多看。基础,JS 基础要多看多练,闭包和原形是重点,原形又会引入继承。框架不用太深入。工作两三年的我才会问框架问题。

  • 面试官男的,胖胖的,看起来年纪比我大,或者说老成?全程表情感觉没啥变化。我笑的时候他没表情,感觉很尴尬😅*

总结

  1. Q T M D 八股文,平时感觉记得好,一到了面试时会结结巴巴,看来还是要尽量理解才能记得准,记得牢。
  2. JS 砖头书要拿起来啃,但是感觉来不及了啊。

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论。
我的空间