SHEIN 前端(无手写题)
SHEIN目前还在泡池子,HR说我是第一个进池子的人,然后没有横向对比的候选人,叫我先等着,然后目前二十多天过去了,还没消息,可能挂了,但是没收到感谢信。
可以看一下我的这篇总结:
一面(通过)
- 介绍减少打包体积的方式有哪些(简历里有写)
- 介绍Tree Shaking的原理(上一题提到了)
- 介绍ESM和CommonJS的区别(因为Tree Shaking提到了ESM)
- 介绍怎么封装Axios的,包括如何封装请求API,然后响应拦截,请求拦截(简历里有写)
- 介绍常用状态码(在响应拦截里提到了对状态码的处理)
- 介绍426状态码
- 介绍301和302状态码,浏览器如何获取到跳转的链接(请求头里有location属性)
- 介绍304的协商缓存过程
- 项目里的复杂动画是如何实现的,顺便问了CSS动画,包括transition、CSS3动画和JS动画的优缺点(简历里有写)
- 你知道的git提交规范有哪些(简历里有写)
- git rebase和git merge的区别
- 介绍下重写push方法解决vue router报错的过程(简历里有写)
- 介绍下Chrome插件的开发过程(简历里有写)
- 为什么不用Vue3
- Vue2和Vue3的不同
- Vue3为什么要用Proxy,defineProperty和Proxy的区别
- http和https的不同
- https的TLS握手过程(说了TLS 1.2版本的)
- TLS协议中非对称加密都使用了哪些算法
- 介绍下RSA的原理(上一题有说)
- 介绍下项目中的Cookie是如何设置的
- 如果设置了两个相同的Cookie浏览器会携带哪个(答错了,不会被覆盖,其实都会携带)
- Cookie的domain、path、secure、httponly、expires、samesite属性
- Cookie如何跨二级域名传递,如何跨一级域名传递
二面(通过)
- 首先和我唠嗑,问了很多基本信息(包括身高🤪)
- 说一说什么是二进制
- 电脑中的二进制是如何存储的,并且有会什么问题
- 电脑中是如何进行加法计算的,那减法计算呢
- 电脑中-1是怎么表示的
- 32位和64位系统到底代表什么含义
- 说一说对JS异步的理解
- 为什么JS要是异步的,能解决什么问题
- 说一说事件循环
- 场景题:SHEIN的官网如果开发了两个版本的页面,同时想让用户在统计意义上进行1:1分配到两个不同的版本,分配后就一直访问该版本的页面,你会如何使用纯前端的方式进行实现
HR面(通过)
- 性格
- 优缺点
- 岗位匹配度
- 竞争优势
- 兴趣爱好
- 荣誉奖项
- ...