# 三道手写1.实现一个函数,可以实现下面的效果```javascriptchunk([1,2,3,4],2) //[[1,2],[3,4]]chunk([1,2,3,4],3) //[[1,2,3],[4]]```先用shift实现了一边,问能不能不改变原数组?又用slice写了一边2.实现一个函数,能实现下面的效果``` jsadd(1)(2)(3)//6add)(2)(4)(6) //12```想到了柯里化,但是不知道怎么做了面试官提示可以用箭头函数```jsfunction add(num1){ return (num2)=>{ return (num3)=>{ return num1+num2+num3 } }}//这么简单我一开始居然不会做```3.实现一个函数,可以以下面的形式翻译字符串const obj{a:xyz, b:uvm}111{obj.a}555{obj.b}666{obj.g}=>111xyz555uvm666{obj.g}写了一半,面试官说时间不够了,讲讲思路# 一点点vue1.你知道遍历时为什么要加key吗2.key没变的话dom树会重构吗(没太明白什么意思,应该是想要我说虚拟dom会变?)3.你知道key为什么不能用index吗# 一点点计网1.你知道经典的五层协议吗?2.你知道网络层有哪些协议吗3.网络层之下又有哪些协议?4.你知道tcp和udp的区别吗5.tcp可靠的原因是什么?不要说握手挥手,说有哪些机制?反问:学习方向建议,把计网底层学好,不要纠结于把框架知识学完再做项目,边做项目边学。了解一下源码和底层实现。总结:我很菜,面试官知道我很菜,我也知道面试官知道我很菜。于是面试官也没太上心,不过面试官人还是挺好的,没有太刁难我