抖音 国际化电商 二面(凉经)
面试官先自我介绍,说是本部门的,应该是位leader
然后我自己自我介绍
1.vue的nextTick
2.v-model是什么的实现,是什么的语法糖
3.项目中写到了cryto.js加密token,问使用的加密方法,其他加密方法,AES与DES加密的区别,对称加密和不对称加密的区别,对称加密与不对称加密的优缺点,https,https的加密(我已经感觉到不妙了)
4.水平垂直居中方法,提到了margin设置宽高的一半,然后被问如果容器宽高不定如何用这种方法处理,获取元素高度的话会引起什么(并不清楚为什么会引起什么,所以这个答得不好)
5.节流与防抖,实现原理
6.flex布局
7.css的选择器,优先级,他举了个例子:类里面添加了一个标签选择器,问优先级(我没明白他举的例子意思,说了一下自己的理解,让面试官解释一下,他自己也没说明白,就只能硬着头皮回答)
(到这里就已经要被问麻了)
8.代码题,实现方法,根据符串生成嵌套对象
function test(obj, arr, val) { let arrs = arr.split(".") if (arrs.length === 1) { obj[arrs[0]] = val } else { let key = arrs.shift() obj[key] = test(typeof obj[key] === "undefined" ? {} : obj[key], arrs.join(""), val) } return obj } let ob = {} ob = test(ob, "user.url.path", "xxx") ob = test(ob, "user.hh", "666") ob = test(ob, "hh", "777") console.log(ob)大概是这么个意思,当时脑袋发昏,写的思路模糊。这是下来完善的
9.看我第一题写的不好,换了一道,打印空心菱形。当时已经脑袋懵掉了,写的个大概,但是严格意义上来说并没有写出来
function draw(n){ //空心菱形的上半部分 for(var i = 1; i <= n; i ++) { for (var k = 0;k <n-i; k ++) { document.writeln(" ");} for (var j = 1; j <= 2*n-1; j ++) { document.writeln(( j === 1|| j === 2*i-1)?"*":" ");} document.writeln("<br>"); } //空心菱形的下半部分 for(var i = 1; i <= n-1; i ++) { for (var k = 0; k < i; k++) { document.writeln(" ");} for (var j = 1; j <= 2 * n - 3; j++) { document.writeln((j === 1 || j === (2 * n - 1) - 2 * i) ? "*" : " "); } document.writeln("<br>") } } draw(3)下来寻找的答案。
反问:小组情况,给些建议,意思就是代码要加强,听到这我就知道已经g了,昨天郁闷了一下午也不想复盘,果然今天就收到感谢信了。
总结:写代码决定面试结果,能写出来面试官出的题目最重要。还是自己太fw了。
#字节跳动##面经#