前言
暑假需要找份前端实习, 通过内推进了阿里面试流程, 总共持续了一个多月, 最后居然给了offer, 在这里记录一下大致问到的问题, 希望对大家有帮助🚌
3.18 一面: 一小时十分钟
一面面试官是个小姐姐, 主要考察前端的基础知识和一些逻辑问题, 问题类型很全面, 难度由浅至深; 每次回答完之后面试官会立刻抛出下一个问题, 一个小时的面试结束后喉咙干的不行...但总体面试体验还是很良好的;
- 自我介绍balabala;
- 讲简历上的项目,遇到的问题;
- 知道哪些HTML5的新标签, 新API;
- 如何理解HTML语义化?
- CSS3的新属性, 动画相关的有哪些;
- 为DOM元素添加CSS的方式有哪几种?
- CSS的选择器权重计算;
- 如何优化CSS选择器?
- 编写HTML和CSS的结构时时要注意什么?
- 双飞燕布局与圣杯布局的实现原理(选一个);
- 简单介绍一下浏览器发起页面请求后的渲染过程;
- TCP三次握手的主要过程;
- 有哪些HTTP请求方法, get方法与post方法的区别;
- 介绍一下ES6的新特性, 新API等等;
- 举例常用的数组方法;
- 介绍一下JS异步机制: setTimeout, Promise, async等;
- Promise它的实现方式是什么;
- JavaScript的模块化规范有哪些? 有什么区别;
- Vue的实现方法, 生命周期;
- VirtualDOM是什么, 有什么作用;
- Vue 与 Jquery 的区别是什么? 为什么要使用Vue?
- 聚会上两两握手, 总共握了45次, 问有几个人, 给出推导公式;
- 如果昨天是今天就好了, 那么明天就是星期五了, 请问今天是周几;
- 一个旅馆有无穷多的房间, 每间房都住满了, 现在又来了一位顾客, 请给出一个方案让他能够入住旅馆;
- 又问: 如果来了无穷多的顾客呢;
- 对阿里的技术有什么了解吗?
3.25 二面:二十二分钟
- Vue的核心模块有哪些?
- Vue中computed的实现方法? 与watch的区别是什么?
- 如何并发多个异步请求,并在所有请求执行完后执行回调?(用多种方法实现)
其余部分忘记记录了...印象中貌似和一面差不多, 主要还是考察基础知识和框架使用;
3.29 三面: 三十五分钟
三面主要问的是项目相关, 然后衍生出一些计算机体系结构和数据库相关的问题; 明显感觉到比一, 二面深入, 后半段考察的是软件工程师的基本素养, 操作系统相关问题是我的死穴, 然而并没有详细问到😂
- 介绍自己以及做过的项目;
- cookie 与 session 的区别;
- 介绍一下浏览器缓存机制;
- 设计一个用户登录状态的管理方案?
- 这个方案中token的作用?
- XSS攻击与CSRF攻击的区别?
- CSRF攻击的机制以及防御措施?
- 基本的HTTP方法和区别;
- 同源策略的含义, 跨域的解决方法;
- 网页请求的优化方式;
- 数据库索引类型;
- RPC异步IO(问到的时候完全懵了);
- 虚拟内存的含义;
- 常用的设计模式和含义;
- 快排的实现;
4.3 四面: 十五分钟
刚睡完午觉就打过来了, 迷迷糊糊地开始, 迷迷糊糊地结束, 非常快...挂电话时还说如果其他同事有问题会继续问我😂
- 自我介绍;
- 介绍一下JavaScript异步机制;
- 再介绍一下浏览器事件循环;
- 一道简单的算法题;
- 动态规划的含义;
4.8 五面: 四十分钟
面试官一开口就表明是终面, 让我慌得不行, 但相比之前难度并没有拔高太多, 比较明显的区别是从抽象层面考察了对于前端工程的理解, 结合项目来谈的话更加偏向实践;
- 介绍自己;
- 介绍做过的项目;
- 阐述一下自己对前端与后端职责的理解;
- Vuex 的作用是什么, 它的设计思想?
- cookie, session 的区别是什么? 和 LocalStorage 的区别又是什么?
- 如果我现在想要对一些特定资源进行缓存, 在一天之内对这些资源的请求都直接读取缓存, 如何设计方案?
- 跨域问题的产生原因以及解决方案;
- canvas 动画与 CSS 动画的区别是什么?(从浏览器实现角度考虑)
- 浏览器重排与重绘的含义, 如何避免大规模重排?
- 如何减少首屏渲染的时间?
- Webpack 与 Gulp 这类前端工具的区别和作用? 各自的优势劣势;
- Webpack 的 tree shaking 机制是如何实现的?
- 在字符串中查找指定的子串, 给出你能想到的所有方法;
- 给定1000个圆, 判断它们是否相交, 以[o1, o2]的数组形式返回, 如何实现?
- 对阿里的技术有什么了解的吗(...真的很爱问这个问题呢)
4.12 HR面: 三十分钟
- 主要是聊自身状况, 参与的项目, 参加的比赛, 自我评价, 允许的实习时间等等...
总结
面试官们都十分友善, 每次面试结束都会对我提出一定的建议, 让我深刻认识到自己菜的事实, 总之还需要再继续努力嗷🚌