首页 > 欢聚集团前端实习一面,二面+hr面
头像
三碗才饱
发布于 2022-01-28 00:40
+ 关注

欢聚集团前端实习一面,二面+hr面

补更一下面经,2021年12月在BOSS上投了欢聚,后面接到面试邀约后便开始面试了。还挺坎坷的,期间被捞了一次。已经尽量回忆了,有一些可能隔太久没回忆起来的问题就不写出来了。

一面 12.22

这个部门是做一个给内部员工使用的平台,我在一面前几乎还没有开始准备,就直接面了。
面试官是同校的一个师兄,还挺巧,不过之前不认识哈哈。

先做个自我介绍

讲了自己在学校期间的工作室经历和做过的项目,不到一分钟就介绍完了。

后来跟工作室的一个在字节的师兄吃新年饭的时候,他分享了一下自我介绍的小妙招,教我怎么介绍项目,怎么讲学习,最好写个小稿子,听后觉得收益很多,在这之前面试的时候我都没注意到这点。

有咩有了解过ES6?讲讲有那些新特性?

面试官没有太问我项目,直接对着基础开始。因为我看过《深入浅出ES6》,所以基本都答的上来,主要引了在开发中主要用到的那些,promise, let , const, proxy,模块
其实还有很多内容没答
  • 块级作用域

  • 字符串和正则表达式

  • 函数

  • 扩展对象的功能性

  • 解构:使数据访问更便捷

  • Symbol和Symbol属性

  • Set集合与Map集合

  • 迭代器和生成器

  • JavaScript中的类

  • 改进数组中的方法

  • Promise与异步编程

  • 代理和反射

  • 用模块封装代码

讲到promise,面试官接着问,

那你讲一下promise的使用?

我大概讲了一下有哪些方法,以及状态的转换,还有resolve和reject的使用,本以为自己掌握的还可以,面试官说:嗯,可以,那我们来做一下题吧
 Promise.resolve("a").then("b").then(Promise.resolve("c")).then(console.log);
第一眼,不妙,我没试过then里传入非函数参数的,当时我说的是c,场面一整个尬住了。

后来回去便细补了then处理那块。如果忽略针对某个状态的回调函数参数,或者提供非函数 (nonfunction) 参数,那么 then 方法将会丢失关于该状态的回调函数信息,但是并不会产生错误。

讲一下箭头函数和普通函数的区别?

讲了this的指向,还有函数参数,new.target和继承的区别

看你项目里有用到ts,有了解过泛型吗?

这又是一个警钟,我ts之前只是大概看了一边官方文档就直接上手项目了,一直没去细扒,西八。
面试官:来改个小bug
function getProperty<T, K>(obj: T, key: K) {
  return obj[key];
}
不妙,是的,这么简单的题,我大概只讲到继承,但平时写项目基本只是写类型定义,很少写其他。
后面又去补了下TS的基础,去了解keyof和typeof方面的内容,其实就是需要保证k是属于T的就行,K extends keyof T。
继续问ts

那你讲讲type和interface的区别

好家伙,我基本只写过interface,还真没去细对比它们的区别,当时答说它们都差不多,我好菜,因为这两道题我反省了挺久的。回来后认真重学了一遍ts
  • 接口可以有多个合并声明,但对象类型文字的类型别名不能。

  • 接口可以在extends或implements子句中命名,但对象类型字面量的类型别名不能。

  • 与接口不同,类型别名还可以用于其他类型,如基本类型(原始值)、联合类型、元组。

  • 两者都可以用来描述对象或函数的类型,但是语法不同,type使用=赋值

  • 两者都可以扩展,但是语法又有所不同,interface使用extends,而type使用&符号

  • 类可以以相同的方式实现接口或类型别名。但是请注意,类和接口被认为是静态的。因此,它们不能实现/扩展命名联合类型的类型别名。

  • type 能使用 in 关键字生成映射类型,但 interface 不行。

你项目开发应该知道请求响应的一些状态码吧,讲讲?

我大概讲了1到5头的触发场景,面试官没有细问下去

有用过react吗

我简历上没写这个,但面试官也问了。之前写软工课设的时候有尝试用react去写过一个小项目,但为了避坑,说不太熟悉。
然后面试官问了有使用哪些钩子,讲了导航,还有响应状态这些。
因为简历上的项目写的技术栈是vue,面试官还问了react和vue的区别。我根据开发的感受讲了一下函数式编程,单向数据流和状态管理的几个点。

提了个场景题,vue做到同步数据更新

我引了nextTick的使用,讲到源码的实现,我有看过vue3这部分的源码,说底层是基于promise.resolve().then(),但面试官说只有这个方式吗,我坚定的说是的。。。因为源码各种边界都是绕回这部分。当时觉得很疑惑,他说还有其他方式,我便反问了回去,他叫我自己回去查。。。

后来我真查了,确实有其他实现方式,不过都是vue2的内容了,估计面试官没看过vue3的实现。

Vue2.x在内部对异步队列尝试使用原生的Promise.thenMutationObserversetImmediate,如果执行环境不支持,则会采用 setTimeout(fn, 0) 代替。Vue3不再支持IE11,所以nextTick直接使用Promise。

反问了部门的一些情况还有本次面试的表现,面试官评价还挺好的

二面 12.29

二面的体验极差,面试官只问项目,之前没好好准备项目,答的很抽象,讲的难点也不好,面试官全程一直打断我回答。。。。

问我怎么给组员分配任务,提了一个场景,如果一个任务我定大概完成时间是七天,但一个人一个小时就写完了,问我怎么处理。我讲了各种处理方案,测试评估功能完成度,检验代码健壮性,与组员开进度会分析下一步需求排期,以及分析工时落差的点,全被他否定了。心里很憋屈,真的。

引到缓存优化那一块,他问我怎么在第二次发起请求前就知道该不该取缓存,怎么知道已经缓存了,我答了请求头,响应头的一些缓存控制字段,还有强缓存、协商缓存的策略,他还是说请求都还没发出去,怎么取到缓存信息。。。
现在还是很疑惑
硬聊到30分钟就结束了,不出意外,凉了。

本来以为缘分就这样终止了,因为二面还颓了一段时间,后来HR又打电话来联系说推到另一个部门,简历过筛了,问还有没有意向面试,便接着面了,推到一个大数据的部门


一面 1.12

这个面试官一口好不标准的普通话哈哈哈,很神奇的。
还是自我介绍加项目,项目那块提了百度地图,面试官也没细问。
后面便是考察各块基础了

讲一下浏览器从输入URL到页面渲染的过程都发生了什么

我之前看面经很多都有问这个,便有去学习了解,从解析URL,到浏览器缓存,DNS解析,OSI各层传递
,到服务端怎么解包,再到这边怎么构建dom树和cssdom树,还讲了重排重绘。
面试官:嗯嗯,你答的还挺全的。
同样又问了状态码,这面试官是每一块问一两个问题就去问其他块了。

让你实现两端固定,中间自适应有几种实现方式

答了是实现圣杯布局,讲了脱离文档流的几种方式进行辅助实现,也提了BFC,漏讲了flex布局,后来面试官补充上来了。
js也问了一些,都是比较简单像箭头函数这些的内容

你可以说一下vue3和vue2的区别吗


答了数据劫持的proxy和组合式API,讲了一下它们的优势。还有很多,像虚拟DOM的比对那些都没有讲,主要是结合开发讲的。

讲一下组件传值有哪些方式

讲了父子,祖孙,兄弟几种不同情况对应的方法,也是结合开发遇到的情况讲的。

场景题:让你封装一个组件,你会怎么考虑

大概讲了提取共同点还有差异点进行数据逻辑判定处理,尽量提高重用性和可拓展性

手写题:深拷贝

当时我写的是覆盖数组和对象的部分,像Symbol这些特殊情况没有覆盖全,后面讲了一下思路,其实这个我之前有看过一些博客,要写全的话代码量还挺多的,很多情况都要考虑进去。

反问环节都一样,问了部门技术栈,带新人方式还有主要业务,面试官评价本次表现给建议

二面 1.13

这个部门二面的面试官看起来好年轻。
上来自我介绍+项目

讲一下promise的方法

都答完整了

你项目中有用到TS,讲讲ts中类的继承

一开始没get到点,讲到es6的类去了,后来他又提了private和protected的区别,语言的共通思想都回答上来关键点

讲一下vue3的setup

答的差不多

你项目中有用到html5的拖拽API,可以讲讲用原生实现的思路吗

讲了监听鼠标的操作,还有位置的判断,不过顺序讲错了,跟面试官在这块扯了好久

开发有用哪些组件库吗

提了项目有用vant

简历里有写熟悉使用npm和git,讲讲npm的发包

尬住了,平时只对依赖包做一些操作,没自己写发过,便直接说明情况了,后面觉得发包管理多个项目通用模块的形式挺友好的,便跟师弟们分享了一下。

讲讲你们团队的git管理

我们现在开发的git模式都是我之前参考结合我们团队情况制定的,所以流程答的比较顺利,后面又跟面试官讨论了git-flow模型在小团队的应用会好一点。

场景题:线上项目出错了,怎么排查定位解决

结合团队开发模式讲了模块,以及分析出错的原因,找到原因后修复,然后重新走测试流程合并,讲了回滚版本。

hr电话面 1.27

沟通了一下之前拒掉offer的原因,和目前其他公司的面试进度,介绍了入职的一些安排,站个人角度,这个HR姐姐很温暖哈哈,点赞!

更多模拟面试

全部评论

(1) 回帖
加载中...
话题 回帖