阿里-钉钉文档-前端暑期实习-提前批一面凉经
一面 2022/2/22 40min:凉
-
自我介绍(说不讲项目)
-
什么时候开始接触前端,怎么开始学前端,如何学
-
红宝书影响比较深的点
-
答了闭包和事件机制(下次要答事件循环)
-
-
写个闭包
let num = 1; setTimeout(() => { console.log(num); }, 100)
-
上面代码有哪些作用域:函数、全局
-
上面的代码的闭包是哪些
-
回答了定时器的函数和变量num,被说了num才是闭包(搞不懂)
-
-
-
看你项目前后端都写过,说一下前后端开发的区别
-
后端偏业务,前端偏用户体验等(回答的不是特别好)
-
-
讲一下小程序的登录注册实现的流程
-
讲到了 token,token这一块好像没讲清楚,面试官不太理解
-
-
前端把数据存在哪里:localStorage、vuex
-
cookie 和 session 是啥,区别
-
知道跨域嘛?
-
讲了同源策略
-
讲了项目访问图片跨域是怎么做的
-
-
1,2,-1,-2 在计算机中以二进制储存是怎么样的
-
原码、补码
-
-
普通函数和箭头函数的区别
-
疯狂讲,然后被打断了。。
-
-
js 怎么知道当前是用什么浏览器?不懂
-
window.navigator.userAgent
-
请求头有个 user-Agent 属性,应该是想考察到请求头的内容
-
-
有没有做过动画
-
transition
-
-
transition 是css控制的嘛?不太明白问题
-
答了是GPU,不懂(transform才是GPU,记混了。。。)
-
-
手写:解析 URL 参数为对象
-
只有 key 的话设置为 key: true
-
相同 key 的话用数组保存
-
中文要解码
-
能用数字表示的话就转成数字
/** let url = 'https://www.aaa.com?hhhqzh=ppptyp&id=1&id=2&city=%a%a%s&enable'; obj = { hhhqzh: ppptyp, id: [1, 2]; city: '广州', enable: true } */ function parseParam(url) { const paramsStr = url.split('?')[1]; // 将 ?后面的字符串取出来 const paramsArr = paramsStr.split('&'); // 将字符串以 & 分割后存到数组 let paramsObj = {}; paramsArr.forEach((param) => { // 处理有 value 的参数 if (param.indexOf('=') !== -1) { let [key, val] = param.split('='); val = decodeURIComponent(val); // 解码 val = /^d+$/.test(val) ? parseFloat(val) : val; // 判断是否转为数字 if (paramsObj.hasOwnProperty(key)) { paramsObj[key] = [].concat(paramsObj[key], val); } else { paramsObj[key] = val; } } else { // 处理没有 value 的参数 paramsObj[param] = true; } }) return paramsObj; }
-
-
反问
-
部门主要做啥,技术栈(react + ts)
-
选择候选人的时候会不会对只会vue的面试者有权重的影响
-