快手前端二面 暑期实习 面经 详细介绍
基本信息
时间:2023.6.19
时长:54min
base:帝都
面试岗位:前端 暑期实习
问题
- 面试官主动自我介绍
- 叫我自我介绍
- 你觉得不管是实习还是做的项目,你觉得哪一个是你觉得有技术难度,你是如何去解决的呢?
- 你能介绍一下项目中如何设计权限的吗
- 你觉得相比与其他的权限设计方案,它有什么优势?你知道其他权限管理方案吗?
- 你觉得ACL如何解决多个人的权限都是一样的?
- 假如有一个系统,用的人很多,你如何设计角色?
- 你有读过Vue的源码吗?(快手次次都要读源码)
- 如果让你自己设计Vue-Router,你该如何去设计去做路由切换?
- Vue-Router如何保证URL变化了,页面不会刷新?因为有hash和history嘛,Vue-Router是如何保证URL变化后页面不会刷新
- history变化,浏览器怎么变化其实和nginx是没关系的,这块主要是html提供了state去处理的(面试官在矫正我的回答),后端能拿到URL所有信息吗?
- 你刚刚提到,hash是不会导致页面刷新的,那前端是如何拿到hash信息的你知道吗?
- cookie和localStorage区别,或者说各自优势讲一下
- 你能介绍一下传token用cookie不太好是为啥吗?
- 后端拿前端有两个同名的cookie,这是什么原因?
- 手撕下面代码
手撕代码
//两数之和的改编
const arr = [1, 2, 3, 4, 4]
const target = 5
//得出 arr中有几对相加等于 target,不能复用数字
//比如这里答案是2 只有 1,4 2,3 (因为1不能复用给两个4)
const arr = [1, 1, 2, 3, 4, 4]
const target = 5
//这个明显结果就是3,因为有 1,4 1,4 2,3
let result = 3
//吗的为啥上面的let关键字不变色,气死我了
//我做了20分钟,我先用回溯,溯了半天不对,于是改用Map计数,然后消费Map的数量,得出了正确结果,当然也有面试官的提示。
//虽然写出来了,但是没有秒杀,很难受,呜呜呜
- 我看你简历写了Java,写了前端,你投递简历有啥偏好(我只投前端)
- 所以你目前更期望找前端?你是如何去学习前端的?
- 你觉得目前你觉得的前端方向最新的技术点是什么?
- 最近一段时间比较火的是chatGPT,你用过chatGPT来对前端提供一些帮助吗?
- 实习offer情况?
- 反问环境(一问技术栈,二问做什么产品,每次面试都问这俩问题,通用问题。)
OK,结束,下机,谢谢你的时间
总结
快手面试的特点是喜欢问源码,一面二面都问我有没有看过Vue的源码。
面试官喜欢唠源码,所以大家面对快手的面试,先看一波Vue的源码
#面经##快手信息集散地##快手##实习#