前端日常实习面经
面试时长:60分钟
面试体验:面试官太好了, 是我遇见过最实在最温柔的,全程像朋友一样交谈。
面试官的头像:一只猫
备注:时间关系,只分享题目,答案自理。
面试环节
- 自我介绍
- 好的,欢迎xx(我的名字)来应聘我们的岗位。今天我主要是想简单了解一下你的情况。你上一段实习经历只有2个月,可以说说是什么原因吗?
因为学校有一门项目课是在4月,所以我回来上课,现在项目课已结束,课表没有课了。
- 那大四有课吗?
没有。
- 你是怎么知道我们公司的这款产品的?
因为我之前参加过字节青训营,然后接触了低代码这个概念,上网搜了一下市面上低代码产品,那时候有印象,贵公司是国内 TOP15 的无代码平台。
- 有了解过其他同类竞品吗?
没有,因为都要付费才能使用,面试官哈哈大笑。
- 那我们开始聊一些技术相关的吧,你可以讲一下事件循环机制吗?
阿巴阿巴。
- 那浏览器的事件循环机制和 Node 的事件循环机制的区别,你有了解过吗?
这里我太久没看,忘记了 Node 事件循环机制的细节,面试官说没关系,浏览器的事件循环掌握的不错。
- 你用 Vue 多些还是 React 多些?
Vue
- 简单讲讲 Vue 的 nextTick 实现原理吧
啊吧啊吧
- Vue 如何收集依赖?
讲了,面试官继续问你知道发布订阅模式吗?我说有的,他说好的(没让我往下,也没让我手写)
- Vue 源码有用到装饰器模式吗?我印象有点模糊,你知道吗,如果有就说说,没有的话可能是我记错了。
这个没有了解过,面试官说没关系。
- 什么情况下 z-index 会失效?
这里我只说了一种情况,就是 position 为 绝对定位,面试官说还有几种。
- 看看项目吧,你这个低代码项目是如何处理组件的层级问题的?
我说了项目的思路,面试官说可以有更好的方案。
- 低代码项目里面组件嵌套是如何做的?
children 配置项。
- 你这个位置辅助标线是怎么做的,说一下?
啊吧啊吧。
- 防止 XSS 攻击有用到什么库吗?
没有,我是用的原生的正则匹配。
- 说一下你做过的项目当中,遇到的比较难的问题,你是如何解决的?
讲了撤销重做。
- 你是计科专业的,那数据结构和算法有了解吗?
基本的还是有了解的。
- 说一下链表,树和图吧。
啊吧啊吧。
- 图有几种?
我就说了有向图 无向图。
- 如何判断链表是否有环?。
遍历打标记,遍历时遇到已打过的标记就是有环。
- 除了遍历,有没有更佳的方案呢?
一时想不起来,面试官说没关系,遍历足够用了。
- 如何判断有向图是否有环?无向图呢?
DFS 打标记,基本思路跟链表有环的判断一致。
- 正则如何匹配到 // 而不匹配到 https:// http:// 不需要写正则,考察正则的书写是没有意义的,我只是想了解一下你的思路。
啊吧啊吧。
反问环节
- 首先我说了,面试官给我的感觉就像一位平常在讨论问题的很熟悉的朋友。(面试官笑了)
- 我想问问咱们这个部门有多少位前端成员?
大概是15位,有3个小组,一个是做表单引擎的,一个是做无代码核心的,一个是内部组件库的,我们打算招 20 位实习生,业务不算难,但是挺多,但是我们也不会让实习生进来打杂的,这对你们来说也是不负责的。
对了,你介意我们用的是 Angular 吗?因为我们的项目是六年前的,已经比较庞大了,用其他框架重构成本太大,所以还是用的 Angular。
- 听 HR 说实习生是有住宿的吗?
是的,不过我可能要泼冷水了,不是单人间(他笑得很开心),是四人间。
- 一共有几轮面试?
明晚有空二面吗?
- 我说我没有问题了。
面试官突然说:其实我想坦诚相待,我对你挺满意的,我这边也想了解一下你的意愿,咱们是双向选择,你也不用有压力,我就是问问你想过来实习的意愿大吗,因为我年初面过几位实习生,他们也过了但是拿到更好的 offer 最后没有入职。