虾皮前端日常实习一面

自我介绍

介绍完项目,面试官摇了摇头,告诉我该怎么介绍项目(不是所有人都了解过目标检测和YOLO,应该先介绍下是干什么的,不然会让别人听的云里雾里)

八股环节

你的技术栈(vue,事后就没问过了,可能部门技术栈是react?)

CSS

你用过什么布局?flex有用过吗?flex: 1是什么意思?(√)

伪元素和伪类,具体什么区别?(√)

画三角形怎么实现?(1. 宽高为零设边框2. 伪元素3. clippath)(面试官:前两个本质是同一种,还有没有?lz说不知道了)

做一个动画,我们实现元素位移用什么比较好1. transform2. 定位3. 浮动。为什么?(transform,因为不会触发重绘和重排)

什么是重绘和重排(√)

transform不会触发重绘和重排的本质是?(不知道)

js

js数据类型,存放在哪?(√)

你刚刚提到了bigint和symbol,是什么?有使用过他们吗?(bigint大数相加,symobol做唯一标识但是没有使用过)

==和===有什么区别(类型转换)

刚刚说到了类型转换,那么类型转换有哪些呢?(隐式'1' + 1,显式Number,Array.from)(面试官:还有没有?楼主:不知道了)

给了一道笔试中lz做错的this指向题(lz分析后选对了)(面试官:你分析的挺好的,但是为什么你当时选错了?)(lz:啊?我当时为什么选的这么离谱?

面试官给了简历指导(建议我不要写精通es6+特性,他这种从业十几年的也不敢写精通)(lz:好的

场景题

现在要你设计一个埋点,要求是把每个用户使用网页的时间交给后端分析

(lz给出的方案:1.设置一个时间变量,发请求时请求拦截器每隔一段时间把这个发给后端,做一个节流)(面试官:用户还没使用结束为什么要发使用信息给后端呢?)

(lz:可能有用户一直挂机)(面试官:不用考虑这个,假设大家都使用的很频繁)

(lz:销毁前的钩子函数?)(面试官:用户把页面关掉了,钩子函数也发不出去)

(lz:关闭页面前弹个弹窗?自我否定了,用户体验太差了)(面试官:没关系,下去后好好想想)

代码题

后端给一个类似这样的数组,要求变成一个嵌套的对象结构,中国有children省,每个省有chidren市,市还有children...

data = [
 {id: 1, pid: null, name: '中国'},
 {id: 2, pid: 1, name: '广东省'},
 {id: 3, pid: 1, name: '四川省'},
 {id: 5, pid: 2, name: '深圳市'},
 {id: 4, pid: 2, name: '中山市'},
 {id: 8, pid: 1, name: '湖北省'},
]


lz写法,先找根元素,然后递归实现填充children,面试官:思路是对的

反问环节

因为lz在面试前几个小时拿到了网易有道的实习,所以没有什么好问的了

因为面试官指导了下楼主该怎么做自我介绍,简历怎么写,介绍场景题和代码题时还帮lz分析题干。所以郑重向面试官表达了感谢

总结

虾皮不愧是大厂,问的问题由浅入深,直到我不会为止

面试官人很不错,lz这么菜也没有被压力和歧视

#面试常问题系列#
全部评论
浏览器生命周期有一个beforeunload,可以在那个事件注册一个函数就好了。transform的可以去看看掘金有人讲过浏览器合成阶段的内容
5 回复 分享
发布于 03-10 20:45 广东
Beacon 请求可以做页面关闭上报
点赞 回复 分享
发布于 03-19 01:23 广东
从vue上可以监听页面的生命周期,比如create unMounted,如果用户退出页面话,其实可以监听浏览器一个事件,但忘记叫啥了。不用vue依然可以,监听用户的路由,监听history或hash,跳转的时候做时间相减,如果是关闭页面那就监听浏览器事件来减
点赞 回复 分享
发布于 03-10 13:16 北京
埋点那个可能指的Performance Api或者导航事件?
点赞 回复 分享
发布于 03-09 23:35 北京
我之前实习的时候,我导师直接给我说的网页没办法统计页面的使用时间,因为无法得知用户离开页面的时间点
点赞 回复 分享
发布于 03-09 15:51 湖北

相关推荐

05-18 07:43
已编辑
东华大学 前端工程师
一面(2025/02/13)1. 自我介绍2. 你如何学习前端的3. 为什么没有继续深入大数据相关行业4. 项目介绍    1. 项目功能    2. 如何处理学生考试时提交结果的高并发的问题    3. 为何选择 Pinia 而不是更加主流的 Vuex,出于什么考虑    4. 项目打包过程,产物是什么样的,浏览器能运行什么文件,能运行 ts 文件吗,为什么只有一个 index.html 却能显示不同页面,Vue 中的 template 代码是如何在浏览器中被看到的(这里一开始没有回答上来,所以在引导我)(单页应用 SPA)5. 工程化    1. Vite 打包过程    2. Webpack 与 Vite 的区别    3. Webpack 中的 loader 是做什么的    4. es6 转 es5 是怎么实现的,听说过 Babel 吗    5. npm、pnpm、yarn 的区别,lock 文件是做什么的6. Vue    1. 组合式 API 与选项式 API    2. Vue3 与 Vue2 的区别    3. 组件通信方式7. CSS    1. 有哪些布局,讲一讲 Flex 布局,常用属性    2. 定位方式    3. 选择器优先级,important 的优先级是多少8. JS    1. 实现异步的方式(回调、Promise、async/await)    2. Promise 的 API,Promise 的参数是什么    3. 事件循环,JS 引擎为什么是单线程    4. 浏览器缓存(强缓存、协商缓存)9. Git    1. 常用命令    2. rebase 与 merge 的区别10. Linux 常用命令11. 数据结构与算法    1. 数组和链表    2. 有哪些排序算法,冒泡排序与快速排序的时间复杂度    3. 图的表示方式    4. DFS 和 BFS,层序遍历属于哪个12. 反问:什么是大前端如何学习前端的回答没有让面试官满意;项目细节不太了解,没有去尝试理解更深层次的部分;对前端打包细节了解不多;基础知识仍然需要再完善提高。美团的面试官让我对面试有了新的认知,跟京东的面试体验差距好大。二面(2025/02/20)1. 面试官自我介绍,自我介绍2. 能实习多久,什么时候能来3. 你熟悉的技术栈4. 盒模型5. 居中方式6. 事件循环7. 防抖和节流8. HTTP 状态码9. OSI 七层模型10. UDP 和 TCP,TCP 为什么更可靠11. GET 和 POST,POST 为啥要两次请求12. JS 与 TS 的区别13. TS 类型14. v-model 原理15. computed 和 watch 的区别与使用场景16. nextTick 使用场景和实现17. 事件总线18. 项目相关    1. 介绍 OJ 重构项目、人员规模、开发周期、你负责的内容    2. 为什么要重构    3. 重构时如何保证系统功能稳定性    4. 为什么选择 Pinia 而不是 Vuex    5. 组件库的选择考量    6. 介绍大模型对话组件,背景、出发点、开发周期    7. 流式传输协议怎么实现的    8. 虚拟滚动技术怎么实现的,开始与结束的索引怎么计算的19. 算法:最长递增子序列隔了一周挂了,有些没答上来,有些说的不够广不够深,算法看错题了(ಥ_ಥ)
点赞 评论 收藏
分享
评论
12
65
分享

创作者周榜

更多
牛客网
牛客企业服务