1.5蔚来一面(1h)已约hr面
gis
由于我的专业和gis有点关系,一上来就狠狠被问了gis相关知识和webgis原理,真的懵了
- 坐标系 x
- arcgis、mapbox、cesium区别 ✅
- mapbox怎么用的 ✅
- 瓦片怎么显示,是什么格式的,并发怎么控制 ❌
浏览器与网络
- 从输入url到渲染的过程 ✅
- 浏览器渲染过程 √✅
- 什么会引起重绘?什么会引起回流√✅
- 常用状态码 ✅
- TCP如何控制并发,如何进行安全增强 ❌
- TCP和UDP的区别、适合场景 ✅
JS
- 如何把函数转化为promise √✅
- 介绍promise的各个方法和实际场景使用 √✅
- async+await是如何实现的 √✅
CSS
- 图标 + 文本框 + 图标登录条如何实现 ✅
- 解决输入的字符覆盖图标问题 ❌
TS使用
- type和interface区别 ✅
- union联合类型 ✅
- 如何根据传入参数不同,调用不同函数 ❌
Vue
- setup()是什么,有什么作用 ✅
- 如何传参,子组件定义props ✅
项目相关
- 前端鉴权 ✅
- token是如何放到header中的?✅
//添加一个请求拦截器 request.interceptors.request.use( config => { //从本地存储中获取Token const token = localStorage.getItem('token'); if (token) { //在请求头中携带Token config.headers.Authorization = `Bearer ${token}`; } return config; }, error => Promise.reject(error) );
- axios、fetch、ajax区别 ✅
- axios做过什么封装 ✅
- axios有什么拦截器 ✅
// http response 拦截器 axios.interceptors.response.use( response => { return response; }, error => { if (error.response) { switch (error.response.status) { case 401: // 返回 401 清除 token 信息并跳转到登录页面 store.commit(types.LOGOUT); router.replace({ path: 'login', query: {redirect: router.currentRoute.fullPath} }) } } return Promise.reject(error.response.data) // 返回接口返回的错误信息 }); ————————————————
- 实战场景中axios的使用(拦截接口状态码、拦截登录状态code)✅
- 文件上传怎么做的 ✅
- 大文件上传怎么做 要注意什么 ✅
反问环节
- 技术栈
- 总体体验不错,面试官长得神似上段实习的Leader,让我感觉很亲切