阿里支付宝 前端实习提前批一面 面经
蚂蚁金服 支付宝 前端提前批一面 2020/02/21 21:30~23:30
自我介绍
基础知识:
- c语言指针和引用,引用类型能不能变
- 复杂情况的代码中遇到栈溢出要怎么处理(我答得gdb调试,gg)
- gdb单步调试怎么调?怎么下断点?
- 二叉树和二叉搜索树
- 哈夫曼树和哈夫曼算法
- 读过《算法导论吗》?动态规划的原理、dp的作用
- 编译原理中的有限自动机的原理
- 编译原理中的NFA和DFA
- 栈和堆的区别
- 讲一讲常用的排序算法(我说的归并排序)
- 讲一讲快排的原理
前端部分:
- 你es6常用哪些
- 可不可以自己写一个symbol(gg了)
- class是怎么实现的
- 如果打开页面,需要发送三个请求(而且接口反应慢),怎么处理(
- promise
- 用过babel吗?babel的原理(我答的很浅,但面试官没说什么)
- 用过webpack吗?(我答的webpack的基本流程,被说那只是简单的过程)
- 用过哪些webpack的插件?(答按需引入的那个)
- 写过webpack的插件吗?webpack适合写哪些工具?
- css的position有哪些
- 写过动画吗:如何实现一个旋转动画
- vue的数据劫持原理
- Object.defineProperty和vue3.0的proxy的区别
- 经常读源码吗(答读过axios的,axios用适配器模式来适配浏览器环境和nodejs环境)
- nodejs适配各种平台(windows、linux之类的)的方法(gg了)
在线代码部分,用的阿里巴巴自己开发的平台,阿里伯乐在线评测系统
提取url的query到一个对象中
简单的转换代码
//data转result的方法 const data = [ { skill: 'javascript', user: 'Chad' }, { skill: 'javascript', user: 'Bill' }, { skill: 'javascript', user: 'Sue' }, { skill: 'html', user: 'Sue' }, { skill: 'css', user: 'Sue' }, { skill: 'css', user: 'Bill' } ]; const result = [ { skill: 'javascript', user: [ 'Chad', 'Bill', 'Sue' ], count: 3 }, { skill: 'css', user: [ 'Sue', 'Bill' ], count: 2 }, { skill: 'html', user: [ 'Sue' ], count: 1 } ]; ```
- 二叉搜索树的修复,leetcode上看到过原题(但我没做出来...)