【面试经验】字节AILab 前端实习面经 已offer

timeline
七月十九 一面 (周五)
七月二十二 通过过了约二面
七月二十三 二面
两个小时后通知过了约hr面
七月二十四 hr面
两天后 七月二十六offer(感觉挺缺人的)

一面:
首先简单自我介绍
讲一讲上一段实习做的事情
讲一讲http1.1 http2 http3 https都有什么特点 (我只知道http2对比http1.1有那些优化就说了下,后面面试官帮我补充了我后面不知道的)
浏览器中的缓存策略(强制缓存和协商缓存)
浏览器中的事件循环原理和nodejs中的有什么区别?微任务有那些,宏任务又有那些?
讲一下js中的垃圾回收(这个我之前看过记忆太久远了,于是把我自己想起来的什么新生代老生代标记清楚什么的)
垃圾回收有那些算法?(真忘记了啊啊啊,说了什么黑白灰记数,但是我也不知道是个什么),面试官说没关系,这个不知道也很正常
esmodule和commonjs有什么区别?(写法不同和commonjs引入可以在逻辑中写),面试官: 没了?后面又提醒了我好像是esmodule中的是值引用,commonjs是深拷贝了一份
讲一下你所知道的闭包,以及闭包有那些应用
后面就是叫我写题了
第一题关于react的,一段代码,让我看看有那些不合理的地方(比如useCallback中的dep没传导致的闭包问题),循环中写hooks的问题,useState中的初始值问题
第二题是lc中的螺旋矩阵(看到的时候我贼开心,但是为了表现出我的思考,我还是慢慢写的,其实可以直接默写出来哈哈哈哈!!)
反问:
对我有什么评价和建议吗? 面试官说: 我觉得别的地方都挺好的呀,就是经验有点不足,不过你才是学生已经很不错了(555,听到了之后十分感动)
组内的业务和技术栈是什么? 说业务保密不太能说,技术栈是react
什么时候有结果?面试官说他也不知道哈哈哈哈
值得一提的是: 面试官很可爱,一直再说好呀好呀

二面:
首先简单的自我介绍
大文件上传怎么做的,讲了一下我的思路
具体流程呢?(从前端的type为file一直讲,讲到后端的接口设计)
你自己有参与吗?没,只是看了别人的代码和自己写了点小的demo
断点续传是怎么做的呢?
比如极端的情况,断点续传传到一半浏览器关闭了,下次在打开怎么做的上次的情况呢?
计算是在ui主线程吗?
大文件上传怎么监控失败的情况呢?
平常用nodejs吗?
跨端知道吗?(没深入学习过,仅限于看过一点点,简历上面也没写,但是不知道面试官为什么一直拷打啊啊啊,还以为业务不匹配要似了)
微信小程序实现原理
微信小程序的serve是运行在什么地方
跨端的原理是什么?(我说了什么webview)
除了webview呢?(想半天说了个js bridge,我自己也不知道是什么) 面试官也沉默了
知道electron吗?(知道知道,点头如蒜)
为什么可以做成桌面程序呢?(说了下什么套浏览器然后调用os的接口,总之把我自己理解的说了)
面试官沉默了一会(可能是在看简历)
讲一下你做的性能优化
性能优化的指标?(lcp??)
你做过的性能优化在那些地方(首屏)
你说了这么多都是网络传输方面的,有没有看过渲染上的呢?
说到了ssr,用nextjs做过官网
ssr和ssg有什么不一样的地方(真没仔细看过,讲了一下我知道的这两个是什么)
最近有在看什么书和知道什么新技术吗?
我说看了react要更新的地方,都是在为nextjs提供一些好的方向,往nextjs方向靠,还说了那个bun,那你知道bun为什么比nodejs要快这么多吗?(不知道)
讲一下react和vue的不同(说实话,我之前背八股文的时候看到了很多但是我自己说的时候又感觉是一样的,就直说出了一点点),react fibre是什么,为什么要有这个,这个解决了什么痛点,仔细说说(再也不嘴贱了)
算法题: 爬楼梯,我框框一顿默写,写了递推,时间复杂度和空间复杂度(n),有什么可以优化的吗?没开数组换成了两个变量记录,面试官又沉默了,换成不止一步二步而是n步呢? 思考ing,就是写两个循环把之前的总和全加上,优化的地方呢?记录了一个sum去写之前的,面试官沉默… 他说他是想让我把递归的关系写成一个公式可以表示,思考ing,不会…好在面试官也没有为难我

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
字节跳动是一家知名的互联网公司,提供多样化的在线服务和产品。在字节跳动的go实习面经中,通常会包含以下几个方面的内容: 1. 基础知识测试:字节跳动会对应聘者的基础知识进行测试,例如数据结构、算法、计算机网络等方面的知识。这一部分的问题可以是选择题、填空题、编程题等形式,用于评估候选人的基础水平。 2. 项目经历和实践能力评估:字节跳动也会关注应聘者的项目经历和实践能力,询问候选人在实习或学校项目中担任的角色、面临的挑战、解决方案以及取得的成果。通常会以开放性问题形式出现,侧重考察候选人的思维能力和解决问题的能力。 3. 技术深度面试:在技术深度面试环节,字节跳动会聚焦于候选人在Go语言相关技术方面的掌握情况。例如对候选人对Go语言的理解、熟练程度以及应用经验进行详细的询问和讨论。 4. 沟通与团队合作:字节跳动非常注重候选人的沟通能力和团队合作能力。所以在面试过程中,他们可能会提问候选人在团队合作中的角色、如何和其他成员协作以及如何解决团队遇到的问题等。 5. 自我介绍和问题回答:面试的最后要求候选人进行自我介绍,这是一次展示个人的机会。同时,面试官还可能询问一些与实习相关的问题,了解候选人对实习的期望、目标以及对字节跳动的了解程度。 综上所述,字节跳动的go实习面经主要包括基础知识测试、项目经历和实践能力评估、技术深度面试、沟通与团队合作以及自我介绍和问题回答等环节。应聘者需要准备充分,熟悉Go语言相关知识,并能够展示自己的技术能力、项目经历以及团队合作等方面的能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

litterfinger

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值