字节前端实习二面(已offer)

这又是一段比较奇妙的面试经历,面试官一上来就开始询问我的摄像头,说角度不对,我连忙说是因为摄像头在屏幕底下,(用过Y7000的朋友们应该都知道)。
1.开头15分钟聊了一些非技术的问题:
  • 为什么学前端呢?追问了我为什么觉得自己适合学前端?以及自己有什么优势?
  • 项目是怎么开发的?如何分工呢?做了哪些优化?哪些困难?
  • 项目参加的这个比赛的评比细则是怎样的?比赛是什么规模?
  • 玩过什么游戏?(面的游戏部门)
2.后面就开始聊技术了(15min),奇幻的面试正式开始
  • 你是计算机专业的,学过什么课程? 答:编译原理,算法,计组,操作系统,计网和数据库还没开课。
  • 哪门掌握得最好? 答:算法。(对,你没有看错,我在字节面试官面前说我擅长算法,因为自己操作系统没有复习,计网没有开课,实在没说的了)
  • 那从你最擅长的开始问吧,数组和链表知道么?区别是什么,使用场景是什么?在列表尾部插入元素,哪个结构更快?如果是双向链表呢? 这期间面试官一直在自己构建场景,让我去推理答案,我本身没有复习,答得不太好(此时心态比较崩)
  • 二叉搜索树知道吧? 前序遍历?中序遍历?
3.做题(40min)
  1. 用一个无序数组构建一棵二叉搜索树(不能先排序),然后去遍历二叉搜索树获得递增序列,自己定义数据结构,自己输入输出。
  • 我刚开始拿到这道题,感觉还好,树结构一直都在做,但一来思路就错了,以为是直接手动建树,但面试官补充说要用函数实现。然后我思路又错了,因为太紧张了。
  • 然后做了10min之后,思路已经被推翻两次了,此时心态比较崩,开始想象这次面试没过咋办的事情了。但后面突然想起来,本身这道题不难,之前真的太紧张了,第一次面试。
  • 最后做出来了,改了一下bug,终于输出成功了。此时已经做了25min了。
2. JSON传十万个数据,每个数据是一个对象,有三个键值对,如果后端直接返回的话,键值对会被传30万次,但都是重复的,怎么优化?
  • 拿到这题我也是懵的,我以为是要写什么算法和数据结构取进行优化,后面面试官解释了一下我才懂了意思。
  • 第一个思路是用数组去存值,键名作数组名就行,然后直接用下标去取对应的值。但我不敢说,我觉得肯定没这么简单。面试官看我一直在思考,就叫我想到什么说什么,我就把这个思路说了。
  • 面试官说可以啊,这个思路可行,有什么问题呢?如果有的属性值只有一个数据有,有的数据没有,那还是用数组的话会传很多的null,咋办?
  • 最后快结束的时候,我说了一个方案,解释了一下,面试官说可以。

总结:

最后,面试官问了一下我什么时候能来实习以及实习时间。
自己的一面面经也写出来了,我的整个面试跟js,css相关的题目很少,一面主要问我的项目,技术选型。二面就更没问啥跟前端关系特别大的了。唉,可惜了我自己整理的几十万字的面试题解析。
最后也劝大家,计算机基础有时间一定要好好复习,特别是科班的同学,以防万一。面试过程中有思路一定要说出来,不管对不对,不对面试官肯定会给你说方向的,千万别闷着!

hr最后也打电话和我约hr面了,希望hr面不要把我挂了,后面offer审批也别出问题。


3.1更新,已offer
#实习##前端工程师##面经#
全部评论
楼主,我想问一下电话面试是啥意思,直接hr打电话说有一个电话面试,然后今天就电话聊了10分钟不到,这轮会不会挂人啊,还是正式的都是视频面试
1 回复 分享
发布于 2021-02-24 17:58
LZ大大,二叉排序树没有要求必须最低深度吧 我这么写的: function TreeNode(val) {     this.val = val     this.left = null     this.right = null } function createTree(arr) {     if (!arr.length) return null     const root = new TreeNode(arr[0])     if (arr.length === 1) return root     const left = arr.filter(item => item < arr[0]),         right = arr.filter(item => item > arr[0])     root.left = createTree(left)     root.right = createTree(right)     return root } function inorder(root) {     if (!root) return []     const res = []     const helper = root => {         if (!root) return         helper(root.left)         res.push(root.val)         helper(root.right)     }     helper(root)     return res } console.log(inorder(createTree([4, 2, 5, 1, 3, 6, 7, 9]))) //[1, 2, 3, 4, 5, 6, 7, 9]
1 回复 分享
发布于 2021-02-24 22:00
都走到HR面了,基本稳了
点赞 回复 分享
发布于 2021-02-24 13:19
厉害了,两次面试直接到hr
点赞 回复 分享
发布于 2021-02-24 14:05
请问是什么部门呢
点赞 回复 分享
发布于 2021-02-24 15:24
楼主什么时候面的二面啊? 多快出消息
点赞 回复 分享
发布于 2021-02-24 17:58
老哥冲啊!
点赞 回复 分享
发布于 2021-02-25 14:52
楼主 HR面完大概多久offer
点赞 回复 分享
发布于 2021-03-24 22:27

相关推荐

11-11 14:21
西京学院 C++
无敌混子大王:首先一点,不管学校层次怎么样,教育经历放在第一页靠上位置,第一页看不到教育经历,hr基本直接扔掉了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-05 10:13
已编辑
HHHHaos:让这些老登来现在秋招一下,简历都过不去
点赞 评论 收藏
分享
12 49 评论
分享
牛客网
牛客企业服务