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,让我感觉很亲切

