哈啰出行前端线上面试
- 使用js实现一个持续的动画效果
- 单链表和双向链表的区别?
- Vue computed的原理是什么?为什么避免在computed里面进行修改数据的操作?
- 怎样为元素添加一个4px的内阴影?
- 什么情况会内存泄漏?
- eventloop
- 箭头函数和普通函数的区别?
- 作用域链
- 协商缓存/强缓存简单说一下
- 如果说要展示一个十万的数据在移动端的网页上怎么做?
- 编写一个contextmenu的插件
- js 继承, 手写了三种构造原型寄生组合
- nodejs中定时器process.nextTick和setImmediate的区别,优先级
- 页面加载过程中可能触发哪些事件?它们的顺序是?
- babel把ES6转成ES5或者ES3之类的原理是什么,有没有去研究。
- 一行代码实现数组去重?
- 你觉得typescript和javascript有什么区别?
- 能否描述一下渐进增加和优雅降级之间的不同?你更倾向于那种方式?
- 如何判断object是数组类型?
- 每个生命周期是有什么用处?一般的应用场景
- 项目中使用插件的时候有没有对比其他插件,引用别人的代码有没有看别人怎么实现的?
- 刚刚提到 TCP 的三次握手,其中 https(s是什么?在 tcp 层的起了什么作用)?
- 前端行业目前比较关注的点了解吗?
- typeof和instanceof的区别
- Iterator是什么,有什么作用?
编程题
- 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。
- 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。
示例 1:
输入:nums = [1,2,3]
输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]
示例 2:
输入:nums = [0]
输出:[[],[0]]