字节飞书-秋招提前批-前端一面面经已凉

自我介绍、项目啥的就不说了,大概的问题如下
  1. http和https区别,ssl具体怎么实现的   (简单的说了说对称秘钥和非对称秘钥,以及数字签名、证书;)
  2. HTTP2解决的问题
  3. 数组和链表区别(这块还问到了系统是如何取链表加载到缓存的,这块不太理解她想问什么)
  4. react实现一个定时器,封装一个hook(这块确实有点菜,用useEffect写出了定时器,但是封装一个自己的hooks没写出来,还得学习学习)
  5. 看代码题
    var test = 'global'
    const b = (function () {
        const test = 'scope';
        return { 
            test: '111',
            say() {
                console.log(test);
        } };
    }());
    b.say(); // 'scope'
    删减了一部分,以上是我要吐槽的一部分。这块我当时的回答是,不确定是不是闭包,如果是闭包就应该打印scope.,如果不是就是global。结果面试官信誓旦旦的说和闭包没关系,然后我就信了。。但是今天尝试发现打印的就是scope,具体是不是闭包,求教各位大佬帮忙解答。
  6. 一道算法题 根据字符串执行对象的链式调用,无法进行链式调用就返回给定的默认值(最后一题面试官评价不行,不是最优解,不过下来想起来一个有意思的方法,可以在每个·前边加个问号,每个[前边加个?.,然后和obj拼接一个字符串,然后eval执行,例如eval('obj?.c?.[0]?.d?.e') || defaultVal)

#字节跳动秋招提前批##面经##校招##字节跳动##前端工程师#
全部评论
emmmmmmm 这道题, 这样好像就行了吧? function get(obj,chain,defaaultVal){ with(obj)return eval(chain)||defaaultVal; }
1 回复 分享
发布于 2021-07-25 18:42
第四题感觉有个细节点,就是用useRef把timer包一下。感觉这是个加分项😂
1 回复 分享
发布于 2021-07-24 14:02
关于打印scope那个,想考的应该是当前作用域,因为打印的是test,不是this.test // '1111'。当前作用域没有test。沿着作用域向上找,在闭包里找到test //scope,所以打印scope
点赞 回复 分享
发布于 2021-08-04 18:01
我来说吧 ,  const test = 'scope&(13324)#39;;     return {          test: '111',         say() {             console.log(test);     } }; } 其实say是这样写的 var obj={ } obj.test="111" obj.say=function(){ console.log(test)} //这个函数的作用域建立在上一个花括号的 不是当前花括号,要去按作用域链去找 第一个 scope 第二个 global 根本不可能是111
点赞 回复 分享
发布于 2021-08-02 21:22
那个算法题是哪一题啊?
点赞 回复 分享
发布于 2021-07-29 09:16
第五题立即执行函数也是闭包的表示形式,我觉得面试官的重点在this的绑定规则
点赞 回复 分享
发布于 2021-07-25 19:29
最后一题学到了
点赞 回复 分享
发布于 2021-07-25 14:51
bd,应该是闭包,但是确实和闭包没关系
点赞 回复 分享
发布于 2021-07-25 14:44
这道题我第一反应就是scope,我感觉是在考察作用域。块级作用域的问题。😀
点赞 回复 分享
发布于 2021-07-24 18:40
取链表加载到缓存应该是问虚拟地址空间怎么转换成物理地址空间吧。毕竟链表存的是地址?
点赞 回复 分享
发布于 2021-07-24 16:33
第五题可能是想考察作用域的问题吧?  一般来说考察闭包会ruturn 一个函数 而不是一个对象
点赞 回复 分享
发布于 2021-07-24 16:18
对于第五题,我说一下我的理解: 首先是闭包的定义:闭包是一个函数,这个函数能够访问另一个函数作用域中的参数和变量。 而第五题中的函数是一个 IIFE 也就是立即执行的函数,返回了一个对象,这个对象中有一个 say 方法,这个 say 方法能够访问到这个立即执行的函数中的变量 test,所以 say 是一个闭包。 然后面试官说和闭包没关系的话,我觉得面试官是想让你回答 JS 的静态作用域吧,也就是 JS 中函数作用域是在函数定义的时候就决定了的,相对的有动态作用域,是函数在调用的时候才决定作用域。
点赞 回复 分享
发布于 2021-07-24 12:57
闭包吧
点赞 回复 分享
发布于 2021-07-24 12:53

相关推荐

bg双非本科,方向是嵌入式。这次秋招一共拿到了 8 个 offer,最高年包 40w,中间也有一段在海康的实习经历,还有几次国家级竞赛。写这篇不是想证明什么,只是想把自己走过的这条路,尽量讲清楚一点,给同样背景的人一个参考。一、我一开始也很迷茫刚决定走嵌入式的时候,其实并没有一个特别清晰的规划。网上的信息很零散,有人说一定要懂底层,有人说项目更重要,也有人建议直接转方向。很多时候都是在怀疑:1.自己这种背景到底有没有机会2.现在学的东西到底有没有用3.是不是已经开始晚了这些问题,我当时一个都没答案。二、现在回头看,我主要做对了这几件事第一,方向尽早确定,但不把自己锁死。我比较早就确定了嵌入式这个大方向,但具体做哪一块,是在项目、竞赛和实习中慢慢调整的,而不是一开始就给自己下结论。第二,用项目和竞赛去“证明能力”,而不是堆技术名词。我不会刻意追求学得多全面,而是确保自己参与的每个项目,都能讲清楚:我负责了什么、遇到了什么问题、最后是怎么解决的。第三,尽早接触真实的工程环境。在海康实习的那段时间,对我触动挺大的。我开始意识到,企业更看重的是代码结构、逻辑清晰度,以及你能不能把事情说清楚,而不只是会不会某个知识点。第四,把秋招当成一个需要长期迭代的过程。简历不是一次写完的,面试表现也不是一次就到位的。我会在每次面试后复盘哪些问题没答好,再针对性补。三、我踩过的一些坑现在看也挺典型的:1.一开始在底层细节上纠结太久,投入产出比不高2.做过项目,但前期不会总结,导致面试表达吃亏3.早期有点害怕面试,准备不充分就去投这些弯路走过之后,才慢慢找到节奏。四、给和我背景相似的人一点建议如果你也是双非,准备走嵌入式,我觉得有几件事挺重要的:1.不用等“准备得差不多了”再投2.项目一定要能讲清楚,而不是做完就算3.不要只盯着技术,多关注表达和逻辑很多时候,差的不是能力,而是呈现方式。五、写在最后这篇总结不是标准答案,只是我个人的一次复盘。后面我会陆续把自己在嵌入式学习、竞赛、实习和秋招中的一些真实经验拆开来讲,希望能对后来的人有点帮助。如果你正好也在这条路上,希望你能少走一点弯路。
x_y_z1:蹲个后续
点赞 评论 收藏
分享
行云流水1971:这份实习简历的优化建议: 结构清晰化:拆分 “校园经历”“实习经历” 板块(当前内容混杂),按 “实习→校园→技能” 逻辑排版,求职意向明确为具体岗位(如 “市场 / 运营实习生”)。 经历具象化:现有描述偏流程,需补充 “动作 + 数据”,比如校园活动 “负责宣传” 可加 “运营公众号发布 5 篇推文,阅读量超 2000+,带动 300 + 人参与”;实习内容补充 “协助完成 XX 任务,效率提升 X%”。 岗位匹配度:锚定目标岗位能力,比如申请运营岗,突出 “内容编辑、活动执行” 相关动作;申请市场岗,强化 “资源对接、数据统计” 细节。 信息精简:删减冗余表述(如重复的 “负责”),用短句分点,比如 “策划校园招聘会:联系 10 + 企业,组织 200 + 学生参与,到场率达 85%”。 技能落地:将 “Office、PS” 绑定经历,比如 “用 Excel 整理活动数据,输出 3 份分析表;用 PS 设计 2 张活动海报”,避免技能单独罗列。 优化后需强化 “经历 - 能力 - 岗位需求” 的关联,让实习 / 校园经历的价值更直观。 若需要进一步优化服务,私信
实习,投递多份简历没人回...
点赞 评论 收藏
分享
评论
8
48
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务