伴鱼前端一二HR面
一面(3-31 19:00)
给定一个非空的整数数组,返回其中出现频率前 k 高的元素。 示例 1: 输入: nums = [1,1,1,2,2,3], k = 2 输出: [1,2] 示例 2: 输入: nums = [1], k = 1 输出: [1]
var topKFrequent = function(nums, k) { let map = new Map() let count = 0 for(let i of nums){ //拿map存元素和相应的数量 if(map.has(i)){ count = map.get(i)+1 //get方法返回i对应的value值 map.set(i,count) }else{ map.set(i,1) } } let arr = [] for(let [key,val] of map){ //用新数组去除对应的键值对 arr.push({ key,val }) } arr.sort((a,b)=> b.val-a.val) //用数量大小从大到小排序 return arr.splice(0,k).map(item=> item.key) //最后通过splice截取,map方法取出对应的key }; 时间复杂度:O(nlogn) 空间复杂度:O(n)
面试官很好,很温柔,不会给人一种怼你的感觉
自我介绍
是什么驱使你选择前端
项目中怎么分的模块
调用服务端API怎么实现的
服务端API谁实现的
webpack做了哪些处理
路由使用的什么方式
为什么选择hash模式跳转
为什么不尝试history
两种模式的区别
商城的公共数据怎么处理的
基于user用户信息登录怎么做的
实现登录信息共享怎么做--没答上来
有参与过开源社区的贡献吗(惊了。。。)或者看过某些社区的开源项目吗
vue的双向绑定机制
watcher是在什么时候关联上的(页面解析模板,调用get的时候)
下面聊点基础知识
网络模型
TCP,HTTP,IP分别对应哪一层
EventLoop了解吗
浏览器缓存
输入url到页面展示经历什么
什么是bfc
怎么触发,主要是解决什么问题(清除浮动)
怎么实现水平垂直居中
css3动画属性都有哪些
animation和transition有什么区别---animation更强调于帧动画,transition更针对于过渡的效果
什么是闭包
原型和原型链是什么
原型链顶端是什么
数据类型
object和map有什么区别---map的键名可以为所有值,obj键名只能设为字符串
用vue设计一个弹窗组件。。。这里我有点傻掉了,不知道面试官想问的是什么,这里牵扯了大概有近7、8分钟,可能问的是使用vue内部怎么实现弹窗组件,然后这里突然视频没声音了。。和面试官重连了一下之后就没问了
重连之后开始问别的,项目是为了毕设还是什么
整体界面参考了哪个UI
移动端的自适应方式
rem的原理,怎么计算方式---10px根元素大小,1rem就是10px
反问
重基础,js底层的基础,浏览器DOM的API也要了解,多做项目,面试官觉得前端学了一年,只写了一个项目还是不够,比较少,要多写多用,然后深挖一下源码,再反看自己写的代码,可以想到更好的捷径编写代码,多去社区看大牛写的代码,整体还是基础要打牢
hr面(4-2 13:30 18分钟)
技术面试体验怎么样
从什么时候开始觉得要走前端的方向
当时是有什么契机还是什么原因
项目是自己做的还是实习
几个人做的
为什么选VUE框架
项目最终的结果怎么样
项目中遇到技术问题怎么解决
平常学技术怎么学,学习途径
学生会经历
任职期间组织过大型活动是什么
活动宣传的还顺利吗
自己的职业规划
目前其他的进展怎么样
秋招没有参加吗
没考虑再考一次吗
拿到了哪几家、薪水给的多少
期望薪资多少
确定毕业之后来北京工作嘛
对地点的要求
反问
----不安排实习,周末双休,周一到周四早十晚十,十二点半不打卡,弹性,午休十二点到两点,晚休6-7点,周五下午六点之后没有急事可以下班
#面经##伴鱼少儿英语##前端工程师#