阿里 蚂蚁金服【前端实习】一面面经 为二面攒人品
言归正传,大概的问题如下:
1. 简单的自我介绍
2. 如何写一个继承?(顺带关于prototype chain的知识,本来打算在伯乐上敲一下,但是系统故障就改成口述了)
3. 给出以下代码,输出的结果是什么?原因?
for(var i=0;i<5;i++) {
setTimeout(function(){
console.log(i);
},1000);
}
console.log(i) 4. 介绍HTTP协议(特征)
5. 输入URL到页面加载显示完成发生了什么?
6. 说一下对Cookie和Session的认知,Cookie有哪些限制?
7. 描述一下XSS和CRSF攻击?防御方法?(联动上面Cookie)
8. 如何写一个大数阶乘?递归的方***出现什么问题?
9. Heap排序方法的原理?复杂度?
以上是比较基础的部分,下面的问题是针对我简历上的Node.js+MongoDB+WebSocket的问题:
1. Node.js的特点,与Java比较而言的优劣(因为我写了另一门擅长语言是Java)
2. Node.js的cluster相关的问题,以及Nginx负载均衡
3. 如何让Node.js应用崩溃之后自动重启?
4. 解释内存泄漏问题,用什么工具来排查?(Node.js和Java)
5. Node.js的网络I/O与文档I/O处理方式相同吗?分别是什么?
6. MongoDB vs. MySQL的比较分析?
7. MongoDB的管理恢复方法(工具)?
8. MongoDB设计Model的注意事项?
9. 如果有人反馈你的网站访问十分糟糕,该如何进行排查?
10. 介绍一下WebSocket?(因为我的简历中有利用WebSocket来实现聊天室功能)
11. 如何设计集群来实现WebSocket中间传递者的职能?如User_1与Machine_1连接,Machine_2拿到消息后如何发送给User_1?
问题的顺序并不完全是这样的,我是根据问题的level和相关性重排了,以及一个半小时当中有可能存在我遗忘的问题,上面这些是我印象比较深刻的内容,如果想起来了会进行补充
这里第二部分和项目相关的东西说实话回答的不好,本人是17年8月份转的CS Master,之前在P大读力学,CS底子比较薄,基础的东西还好掌握,但是一深入的话,储备明显就不够了 = =
这里还是要说一下面试官真是太nice了,即便我答不上来,还是会鼓励我,并且给我科普答案,讲一下这些知识的重要性之类,最后给了我很正面的总体评价,还是再感谢一次~
查看6道真题和解析