字节 剪映前端实习 二面挂

一面 3.21

70min

  1. websocket相对于http有哪些优势
  2. websocket如何与客户端建立连接的
  3. websocket断线怎么办
  4. websocket兜底
  5. Https
  6. 非对称加密和对称加密区别
  7. 非对称加密有哪些算法
  8. reduce和reduceRight
  9. 实现组合函数
// 合并多个函数并统一传参执行
function compose(...fns) {
    // todo:
    // 只能使用reduce
}
// demo
function fn1(props) {
    console.log("fn1");
    props.b = 2;
    return props;
}

function fn2(props) {
    console.log("fn2");
    props.c = 3;
    return props;
}

function fn3(props) {
    console.log("fn3");
    console.log(props);
}

compose(fn1,fn2,fn3)({ a: 1 });
  1. 看代码说输出
function createIncrement() {
    let count = 0;
    function increment() {
        count++;
    }
    let message = `Count is ${count}`;
    function log() {
        console.log(message);
    }
    return [increment,log];
}

const [increment,log] = createIncrement();
increment();
increment();
increment();
log();
  1. 看代码说输出,宏微任务,并解释
async function async1() {
    console.log(1);
    await async2(); // async2立即执行,1之后立刻打印3
    console.log(2);
}
async function async2() {
    console.log(3);
}
async1();
setTimeout(() => console.log(4), 0);
new Promise(resolve => {
    resolve();
    console.log(5);
}).then(() => {
    console.log(6);
    Promise.resolve().then(()=>{
    console.log(7);
    });
});
console.log(8);
// 1 3 5 8 2 6 7 4 
  1. ts类型体操
export type Pick<T, K extends keyof T> =/**补充代码**/
interface A {
    a: number;
    b: boolean;
    c: string;
}
type d = Pick<A, 'a' | 'b'>;
/**
d 的类型是
{
    a : number;
    b: boolean;
}
*/
  1. ts实现一个类型,该类型必须拥有某个类型的所有属性,并对它进行拓展,使之可以添加任意类型的键和值

  2. css实现三角形,除了border还有别的吗?

  3. 粘性定位

  4. 媒体查询

  5. async和await是什么,原理

  6. 迭代器

  7. npm,yarn,pnpm之间的区别

  8. pnpm为什么安装速度快

  9. 软链接与硬链接区别

  10. git rebase作用,除了合并分支还有什么用

  11. 回放攻击、供应链攻击,中间人攻击,sql注入,csp,xss

  12. 有成功发起过xss攻击吗?攻击过自己的写的网页吗?

  13. 蛇形遍历二叉树,换了道题 alt

    • 你需要实现一个traverseBinaryTreeLikeSnake函数,输入二叉树的根节点地址,按要求顺序输出一个数字数组

    • 要求是从叶子节点开始,以蛇型的方式遍历二叉树

    • 如图1所示,最右边的叶子节点开始逆序,再往上一层则是顺序,然后逆序顺序交替,则子树的遍历顺序是[7,6,4,3,2,5,1] alt

      如图2所示,从最右边叶子结点开始蛇形遍历二叉树,输出为[7,4,3,6,2,5,1]

  14. 最长回文子串

二面 4.04

50min

  1. 学习方法,有博客或笔记吗
  2. 看你项目是去年8月结束的,8月到现在有做什么或者学了什么新技术吗
  3. osi7层模型,应用层协议,传输层协议,https和http2的关系(这里可能我听错了)
  4. http2相对于http1增加了什么,后来问多路复用解决了什么问题,我说解决了http队头阻塞,但是没解决tcp队头阻塞,我感觉他认为我说的是错的
  5. 项目难点
  6. token是怎么生成的?payload可以传密码吗?
  7. vue-router原理
  8. js单线程,然后深入问,扯到了webworker
  9. 手写带leading和trailing的节流函数

一面完第二天约二面,约到4.4是因为他们在社招。base广州的,官网没广州的职位

当晚感谢信了,二面面试官对我态度和一面差别很大,一面面试官面的时候一直说答对加分,没答对也没关系,算法题刚出就说如果不会我可以给你换题,甚至说用暴力我都给过,二面面试官手写题不运行,就第一次说写完了给了反馈,第二次说写完了就直接让反问,不给反馈,有两三个点深入问了不太会,然后就挂了。感觉就是一面面试官很想要我,二面面试官就不想要我,可能跟他们用react有关系吧

很多问题都是针对我简历上来问的,大家随便看看就好

#我的实习求职记录##现在前端的就业环境真的很差吗##面试复盘#
全部评论
function compose(...fns) { // todo: // 只能使用reduce let arr = [...fns].reduce((pre, cur) => { pre.push(cur) return pre }, []) return function a(props) { arr.forEach((item) => { try { item.call(null, props) } catch (e) { } }) } }
1 回复 分享
发布于 2023-04-05 22:08 辽宁
好恶心的面试
1 回复 分享
发布于 2023-04-06 21:26 湖北
好难...lz牛的
1 回复 分享
发布于 2023-04-10 14:37 上海
WebSocket相关https://www.nowcoder.com/discuss/515279716702547968
1 回复 分享
发布于 2023-07-30 21:38 美国
请问作者是工作几年了吗?还是应届生,有没有实习经验啊?
点赞 回复 分享
发布于 2023-04-05 19:09 河北
你怎么问的这么难啊,感觉像社招的
点赞 回复 分享
发布于 2023-04-05 23:04 山东
你投的是暑期实习吗
点赞 回复 分享
发布于 2023-04-05 23:04 山东
问这么难就是劝退的
点赞 回复 分享
发布于 2023-04-08 20:07 陕西
没几个会的 我好菜
点赞 回复 分享
发布于 2023-04-08 20:50 广东

相关推荐

26 106 评论
分享
牛客网
牛客企业服务