张鑫旭-鑫空间-鑫生活
it's my whole life!备份内容浏览
2017暑期阿里面试总结(前端方向)
Turbe Xue
昨天正好看到一篇文章2017暑期实习面试总结(java方向) - 知乎专栏,感觉写的很棒,作者的
功底很深。不过那篇文章终究是后端的,正好自己刚过阿里的四面(五面的可能是 SP 的聚
聚),所以就总结一个前端版本的吧,也便于之后的查缺补漏。
HTML、CSS
这里之所以把 HTML 和 CSS 总结在一起,是因为确实没有被问到比较多这里的知识点,外加自己在这方面的积累也比较浅,所以就放在一起说了。
- HTML 的语义化理解
- CSS 动画性能比较问题
- 简单的浏览器兼容问题解决方式
- 如何实现一个性能优化后的 slider
- 如何实现一个搜索高亮的文件树
JavaScript
可能是自己在简历上写的项目经历大多关于 react,所以相关的问题被问到的比较多
- react 的 diff 算法基本原理与源码解释
- 如何细粒度地控制 react 组件更新
- react 的 key 的作用以及实现原理,并设定一个具体情境进行分析
- JS 的基本函数式使用,比如 reduce、curry
- 如何写一个深拷贝函数
- event-loop 和 macro-task、micro-task 的理解与应用举例
- 对 Redux 和 Mobx 的设计理念理解
- virtual-dom 的基本原理与简单的源码解释
- pure-component 和 shouldComponentUpdate 相关概念的考察
- Vue 的 MVVM 实现理解
- Promise、generator、async/await 的原理解释
- webpack 和 gulp 的理解与使用
- V8 的 GC 流程
- ES6 的新特性考察
浏览器相关
- 对 GPU 渲染动画的理解
- 浏览器缓存种类、区别与使用细节
- 对几种状态维持方式的理解与使用细节考察
- 移动端的优化方式
- webp 图片的浏览器兼容检测
跨平台工具栈
由于阿里自己家有 weex,外加我也有过 react-native 的项目经历,所以还是被问了不少相关的问题
- weex 与 rn 的异同,两者分别解决了什么问题
- weex 如何解决对不同平台的接口封装问题
- JScore 的理解
- hot-patch 的解释
后端?
好像在阿里里面 NodeJS 这一层是归前端的,所以问了一些 NodeJS 的问题
- 多线程的几种实现方式与 NodeJS 中的实现
- 内存泄露问题的解释
- NodeJS 的模块机制理解
基础知识
这里的基础知识是说计算机基础知识,不只是前端
- 对常见的数据结构的了解,比如栈、队列、红黑树、B 树、线段树、稀疏矩阵、哈希表等
- 八种排序算法的性能比较
- 时间复杂度的分析
- TCP、UDP、 HTTP、TSL 的理解
- 一个简单的 DSL 的 compiler 实现
- 基本设计模式的考察
- 计算机视觉中的 DL 和 Saliency(简历中提了一笔在实验室中的经历,没想到竟然真被问到了,大惊)
最后,祝您身体健康,再见👋(逃
PS: 备份内容仅显示纯文字。