当前位置: 首页 > Web前端 > HTML5

各大厂前端面试都问什么问题?加入爱奇艺,年薪48万元,面试经验总结

时间:2023-04-05 20:31:44 HTML5

前言“金九银十”的跳槽季,也是求职面试的高峰期。很多小伙伴都会为了找工作而跳槽。如果你不想换工作,也推荐阅读这篇文章。毕竟金九银十之后就是金三银四了。我提交了我的简历,但很少有人回应。我一直不知道我是否应该去外包公司。面试前不知道要做什么准备。经常被面试官问到我一头雾水,不知道怎么谈薪水。你可以最大化你自己的利益。如果你赢了其中的2个以上,那你一定要仔细阅读这篇文章。从9月份开始,面试了百度、快手、爱奇艺、阿里、滴滴、字节跳动、好未来、壳牌等8大互联网公司。奇异,年薪48万。本文记录了以上8大互联网公司的面试题,让你全面了解——【最近前端面试都问了些什么】百度1.请分析以下代码执行结果2.请分析以下代码执行结果3.请写Getinner的实际高度。4.手写一个深拷贝函数。5、HTTP状态码301302304403。6、手写发布订阅模式EventEmitter。7、手写多表查询的sql语句。当时使用的是leftjoin的实现。8.React中高阶函数的常用写法有哪些?第一种是通过工厂模式直接包装,第二种是通过组件反向继承。9.删除数组项,数组长度是否为-1。惯于。10.mongoDB中的BSON是什么?B代表二进制。11、查询关系型数据库和nosql谁效率更高?关系型是B+树查询效率比较高。12、使用nodeapp.js启动服务,如何让它在后台运行。启动守护进程,在命令后加上&符号,表示启动守护进程执行。13.尽可能多地编写数组副作用方法。拼接、推入、弹出、移位、取消移位。排序,填充,反转。百度三方面:1.实现一个生日函数,比如fn('2018-8-8')输出1,只要过了生日就+1。2.不断优化刚刚实现的功能,想方设法,多问问题还有吗?跳出你固定的思维圈。阿里1.Vue的双向数据绑定原理,依赖集合什么时候收集?就是在created生命周期之前render生成虚拟dom的时候。2、reacthooks的原理是什么?钩子是使用闭包实现的,因为纯函数不能记住状态,只能通过闭包。3、useState中的状态是如何存储的?通过单向链表,fibertree是一种单向链表的树结构。ReactHooks原理快手1.请写出以下代码执行结果。2、请写出以下代码的执行结果。3、ts如何获取函数的类型和函数参数的类型。4.ts泛型约束的各种方法。5、parseInt的第二个参数是什么?第二个参数表示将字符串解析为二进制。6、多种方式实现多栏等高布局。使用padding和negativemargin,使用flex,使用table-cell,使用grid布局7、函数提升,如果加了括号,还会提升吗?不要举起。8、setTimeout的第三个参数可以传递函数的初始参数。9、bind函数的第二个参数可以传递函数的初始参数。10、使用ts时,a后面不加type,如何创建number[]的数组?11.你看过react的源码吗?最终编译的是什么,它是什么类型?ReactElement类型。爱奇艺1、浏览器渲染js、html、css的顺序。2、在reactdomdiff算法中,list比较的第一个比较是什么?首先比较同一级别的元素,从左到右。3、为什么要把react做成异步的?因为state更新会导致组件重新渲染,新的props只能在渲染后传递给子组件,所以即使state同步了,props也做不了,为了保证一致性状态和道具。为了性能优化,状态会根据不同的优先级进行更新。为了让react更加灵活,比如实现异步跳转,比如页面切换的时候,如果延迟小,会在后台自动渲染,渲染完成后再跳转;如果延迟比较长,可以加一个loading。4.对象的{…}解构是静止的吗?是的。5.自己实现一个SymbolInterator。6.什么时候发送选项头。检查服务器支持的请求方法。CORS7中的预检请求。可以在两个选项卡窗口之间共享sessionStorage吗?不是的,和后端session类似,每个窗口对应一个session层。8.LocalStorage只能存储字符串类型。插入时需要将对象转为字符串,读取时需要进行JSON.parse转换。9.写一个0-100的正则表达式。10.如何在linux中查看内存和磁盘。top命令查看内存。free命令查看内存。psaux列出当前在内存中运行的程序。df命令查看磁盘。11.你用过meta标签吗?它们有什么用?seo优化viewreport设置移动端适配设置charset字符编码模拟http头字段滴滴1、快速排序和二分排序选择手写。快速一行是手写的。2.手写一个eventEmitter。3.手写两个数组的交集。两层for循环。两个数组排序后,用双指针判断。4、在webpack运行过程中,seal方法之后会发生什么?什么时候生成块?5.ts中的ThisType是什么?ThisTypeT6,手写一个es5继承。寄生组合继承7.ReactHooks主要用来做什么?很难在组件之间重用状态逻辑。您可以使用Hook从组件中提取状态逻辑,以便可以单独测试和重用这些逻辑。挂钩允许您在不修改组件结构的情况下重用有状态逻辑。这使得在组件之间或社区内共享Hook变得更加容易。复杂的组件变得难以理解组件中的每个生命周期通常包含一些不相关的逻辑。挂钩将组件的相关部分分解为更小的功能(例如设置订阅或请求数据)。无法理解的类类组件的学习成本比较高。你需要了解js中这个是怎么工作的,绑定事件的时候需要注意。hooks介绍8.https有什么缺点?https协议将页面加载时间增加了近50%。耗电量增加10%~20%。https协议的安全性有限,对黑客攻击、拒绝服务攻击、服务器劫持等影响不大。ssl证书的信用链体系不安全。特别是在一些国家可以控制ca根证书的情况下,中间人攻击也是可行的。需要购买费用。HTTPS连接占用大量服务器端资源,在相同负载下会增加带宽和服务器投资成本。三问:1、你在工作中做过最好的项目是什么?根据项目实际说实话,按照原因、过程、结果三个维度进行介绍。2.深入挖掘项目中的技术栈,询问项目中的难点,需要给出具体的解决方案。根据实际情况说明即可,尽量表达自己对项目的思考。3、分析项目的优缺点,请您给出相应的优化方案。主要考察项目的思路。4、还有没有其他比较突出的项目?一般一个项目是不够的,尽量多准备。字节跳动1.请分析下面代码的执行结果2.手写一个节流函数3.什么是装箱和拆箱?可以在值类型和引用类型桥接中设置装箱和拆箱操作。换句话说,很容易在值类型和引用类型之间进行转换。装箱是将值类型转换为引用类型,拆箱是将引用类型转换为值类型。4.什么是委托粗略地说,一个类要执行一个方法,但它本身并没有这个方法。这个方法在另一个类中,所以它“委托”那个类来帮助它执行。5.手写一个reduce方法。6.手写一个模板字符串替换方法。7.你看过antd的源码吗?如何实现模型和消息组件?只能猜测ReactPortals,没看过源码,有待完善。8.如果你想设计一套微前端架构,说说你的具体想法?如何实现主页面事件注册机制?如何解决多个iframe同时通信?需要有落地的实际项目,否则很难回答好,消息会被锁定。TALFuture1.同步、异步、阻塞、非阻塞,分别解释。以开水为例来理解。同步:使用普通水壶烧水。异步:用水壶烧水。阻塞:烧水时不能做任何事情。非阻塞:烧水的同时可以做其他事情,通过轮询(epoll)的方式检查水是否烧开。2、CDN如何匹配最近的节点?通过动态DNS解析。3.Promise实现睡眠。外壳1.实现一个css布局。每列的第一个和最后一个元素在最左边和最右边,其他元素均匀分布。案例:第一行有4个元素,第二列有2个元素。2.请分析以下代码的执行结果3.请分析以下代码的执行结果总结技术面试一般分为三个部分。一方面:考察基础一定要过硬,比如:js,css,html,tcp/ip协议栈,浏览器渲染等两侧:结合实际项目考察技术深度,比如:react,vue、koa、ts、webpack等三方面:结合实际项目考察项目思维,如:react的优缺点、前端方向的思维、解决问题的思维方式等前端程序员巴菲特的好处有一句名言:“人生如滚雪球,最重要的是找到湿雪和长长的山坡”。放眼长远,在行业变革中找准方向。如果你想:深入了解资深前端工程师知识体系,突破技术成长瓶颈,避免中年危机,通过大厂BAT技术面试,实现大厂梦,获得高薪offer,提升自己和家人的生活品质。欢迎关注:【fkdcxy,疯狂的程序员,】免费获取【大厂前端面试经验】想了解更多前端开发者面试,欢迎评论区留言或私信我!