本人目前是一个三本的大二学生,刚刚参加完阿里天猫技术岗前端实习生的一面,总体感觉难度很高,当然我也没做任何准备,因为本来就是抱着试水的心态去的。当然还要好评下面试官,真的非常有耐心。
途径的话靠的是内推,不然可能简历都会马上被刷,我约了晚上8点面试,8点很准时的收到了电话。再确认到了安静的地方后开始了面试。
下面陈述下流程:
首先简短的进行自我介绍,没有任何出彩的点。
问的第一个基础问题是,generator函数的原理,。。。其实es6中我最不熟的就是这个生成器,然后支支吾吾的扯到了promise,我说了下我在实战中的使用,然后开始问我原理,和settimeout的区别,我也只答出了比较浅的层面。
问的第二个问题是,如何判断一个数组是不是真数组,问我知道多少种方法,我说了两种,一个是isinstanceof另一个是try catch看看有没有Array自带的那些方法,他说还不够,我那时候想的也只是判断原型是不是Array,接着又问我数组遍历的方法有几种,for in 什么的答了几种,然后讲了点二分,bfs,dfs,说的都深入不下去,真的很惭愧,然后又说到了如何排序,想到了快排和冒泡,快排的方法还有点忘记了,真是尴尬,然后问我时间复杂度,还有没有优化空间。
第三个问题是函数式编程,我讲了下大概的优点,可读性,健壮性增强了,没什么副作用。然后让我举例子,我说了下compose方法,但是他问我到底还有什么优势呢,有什么缺点呢,真的答不下去了。
第四个问题是跨域,知道几个方法,第一个我想到的是vue-cli做项目的时候,用webpack配置转发,另一个是jsonp,然后让我分析原理,不出意外,我也不知道。
第五个问题是网络,当我输入完url后到返回页面有哪些过程,我回答说先通过url,然后解析url,获取host,根据host和port访问端口,根据path访问路径,然后返回html,然后渲染。然后他说太粗了,再给你一次机会,。。。我可能真的只知道这种程度。然后问我页面渲染的步骤,我说自上而下,一行行下去,碰到link就去请求css文件,script:src也是请求。
第六个问题是个开放题,设计师如果设计出了0.5px的边框,我想到的是两个遮一下,但是他问了还有别的方法么,我又不知道了,qwq。。。
其实上面那些问题一直深入,问了很久,然后就是聊人生,问我对什么又好奇心,我说了react,然后目标是什么。。。
最后让我提问他,这次面试一共用了一个半小时,时间感觉挺久的,面试官也很耐心,没有因为我菜而瞧不起我,身体躬行教我了一个大道理,非常感谢,虽然失败了,但是我还会回来的