有一些八股文,不过也有很多开放题场景提,就是需要有自己思考的那种,整体感觉还是有一点难度的。
面试官问的面试题:美团web前端开发面试题
1. 如何改变页面加载的URL? document.location\document.location.href
2. fetch ajax Generator 区别
3.如何取消一个异步请求
4. 如何刷新页面
5.网络分层,以及各层的作用
6.应用层协议有哪些
7.UDP和TCP区别
8.接口和抽象类的区别
9.向后端请求数据,前端如何用进度条显示请求的进度。websocket
10.一个编程题:求对象数组的重复项
var nums1=[{a:1},{b:1},{a:1,c:2}]
var nums2=[{a:2},{b:2},{a:1,c:3},{b:1},{c:2,a:1}]
输出:[{b:1},{a:1,c:2}]
面试官和蔼,会引导你一步一步写出答案。很nice。 一面过,但二面很多场景题,没有回答出来,所以二面没过
面试官问的面试题:美团WEB前端工程师面试题
1. 除了简历中提到的两个项目,还有没有其他的实习经历?
2. 重点介绍一下这个项目经历里面你用到的一些技术栈或者技术亮点?
3. MockJs有使用,解释一下MOckJS的原理,或者说让你去实现一个Mock应该怎么入手?
4. 因为我说了拦截请求,他问那是拦截代理了什么呢,或者说是拦截了浏览器的什么方法呢,具体到代码应该怎实现?
5. 简述一下vue组件通信方式?
6. 了解事件总线,那你实现一个eventBus吧?
7. 代码题:使用上述写eventBus中的on和off,问如下可以正常取消监听吗?
```js
$on('name',()=>{console.log('a')})
$off('name',()=>{console.log('a')})
```
8. 之前提到的项目难点是滚动条和top的设置,说一下是怎么解决的?
9. 那说一下有对上述解决方案做一些什么优化吗?我理解的滚动条出发频率是比较高的,如果一直获取,进行dom操作,会导致页面卡顿的?实现一个防抖操作?
10. 有了解过高阶函数?有听说过compose 函数式编程中的组合吗?
11. 实现一个累加器,下面的func
```js
const calc = func();
calc(1) //缓存参数
calc(2)(3) //缓存参数 6
calc();//没有传参的时候才进行求值操作
```
12. 项目中提到登录是使用的localstorge,但是我们一般技术方案登录会采用cookie,可能安全性会高一些,为什么使用local。而不是使用常规的方案?
13. 我提到了csrf攻击,然后他说他了解到的是同域的情况下才可以获取到cookie,如果攻击的话,local也是可以遍历的,那有没有做一些localstorge防篡改的操作?
14. 说一下tcp/ip协议,分别是哪一层?
15. tcp协议是如何保证它可靠传输的?
16. 说一下udp的使用场景以及与tcp的区别?
> ### TCP 与 UDP 的区别(重要)
>
> 1. **是否面向连接**:UDP 在传送数据之前不需要先建立连接。而 TCP 提供面向连接的服务,在传送数据之前必须先建立连接,数据传送结束后要释放连接。
> 2. **是否是可靠传输**:远地主机在收到 UDP 报文后,不需要给出任何确认,并且不保证数据不丢失,不保证是否顺序到达。TCP 提供可靠的传输服务,TCP 在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制。通过 TCP 连接传输的数据,无差错、不丢失、不重复、并且按序到达。
> 3. **是否有状态**:这个和上面的“是否可靠传输”相对应。TCP 传输是有状态的,这个有状态说的是 TCP 会去记录自己发送消息的状态比如消息是否发送了、是否被接收了等等。为此 ,TCP 需要维持复杂的连接状态表。而 UDP 是无状态服务,简单来说就是不管发出去之后的事情了(**这很渣男!**)。
> 4. **传输效率**:由于使用 TCP 进行传输的时候多了连接、确认、重传等机制,所以 TCP 的传输效率要比 UDP 低很多。
> 5. **传输形式**:TCP 是面向字节流的,UDP 是面向报文的。
> 6. **首部开销**:TCP 首部开销(20 ~ 60 字节)比 UDP 首部开销(8 字节)要大。
> 7. **是否提供广播或多播服务**:TCP 只支持点对点通信,UDP 支持一对一、一对多、多对一、多对多;
> 8. .....
17. 说一下浏览器是如何进行进程和线程的调度的?
> 浏览器进程
>
> 渲染进程
>
> - 渲染主线程
> - http异步请求线程
> - 计时器线程
> - 事件触发线程。。等等
>
> GPU进程
18. css布局平常练习的多吗?水平垂直居中有哪些方式可以实现?(写代码)
19. 我分别写了绝对定位和flex,问对于普通的div,有没有其他更普通一点的方式?
20. margin如果设置成负值会有什么问题,padding可以设置成负值吗?
21. css的优先级说一下?
22. 他们的优先级是绝对的吗?就是如果我有10个class全部选择一个元素,他会超过id选择器吗?
23. 代码题:问left和center哪个生效?上下关系,属性
```css
body{
display:flex;
justify-content:'left';
justify-content:'center';
}
```
24. 说一下zIndex的规则,我给一个普通dom元素设置,会改变它的层级吗?
25. 两个div,按照正常文档流平铺,假设他们是层叠的,先展示div1还是div2
26. 编程题-》二叉树的最小深度?
27. 了解promise吗?实现一个promise.all?
28. 了解jsonp吗?简述一下它的实现过程,最好写出来?
29. 代码题:下面会每次延迟1s在输出吗?
```js
arr.forEach(async (item)=>{
await delay(1000);
console.log(item)
})
```
30. 改进,让他每隔一秒打印一下?(写代码)
31. 最新的标准中,await外部还需要async包裹吗?
32. async/await和promise相比优势在哪里?他的缺陷是什么?
> 二、优势
>
> Promise 的优势
> Promise 可以更好地处理并发请求的情况,有效提高代码的性能。Promise 可以使用 Promise.all 方法并发执行多个异步操作,可以大大减少等待时间。此外,Promise 的链式调用语法使得代码可读性更高。
>
> async/await 的优势
> async/await 可以更加简洁明了地处理异步操作的结果,代码可读性更高。使用 async/await 可以让异步代码看起来像同步代码,减少了回调函数的嵌套,提高了代码的可读性和可维护性。
>
> 三、劣势
>
> Promise 的劣势
> Promise 的链式调用语法使得代码阅读和维护困难,尤其是在处理多个异步操作时。在处理多个异步操作时,Promise.all 方法需要控制并发数,否则会导致性能问题。
>
> async/await 的劣势
> async/await 在处理多个异步操作时只能串行执行,不能利用并发请求提高代码性能。此外,async/await 相对于 Promise 更加新,不支持所有版本的 JavaScript 引擎。
33. 简述一下this指向的规则?
34. 实现bind?
35. 大致说一下了解到的react哪些方面的知识?(因为我没学过react)
36. 为什么之前的函数式组件又被称为无状态组件?
37. 现在是使用hooks定义状态,想象一下它中间的逻辑是什么?实现这个做了哪些改造?
38. 代码题: 每次运行render的时候状态会被重置吗?
```js
const [count,setCount] = useState(Math.random())
```
39. 浏览器缓存,DNS解析,垃圾回收简述一下?
40. 计算机的DNS记录应该在哪里改动?
41. 工程化了解哪些?有没有用过scss?
42. 反问?
先前邮件约时间,然后发腾讯会议链接,进入等待即可。会先有部门介绍,自我介绍,然后问问题,包括写题。
面试官问的面试题:美团web前端开发面试题
事物的四大特性
前后端部署
null undifined 区别
网络七层协议
tcp UDP 区别 什么情况下用到
(共2316条) 北京字节跳动科技有限公司
(共2131条) 京东商城
(共2124条) 阿里巴巴
(共522条) 唯品会
(共2316条) 北京字节跳动科技有限公司
(共25条) 腾讯科技
(共8条) 金融街控股股份有限公司
(共9条) 柳工
(共7条) 厦门快乐学习教育集团
(共4条) 杭州富冶
(共4条) 江苏海隆
(共7条) 南京天加环境科技有限公司