最近遇到的不错前端问题
如题,楼主最近秋招陆陆续续面了十几场,面了各种风格的大厂面试官(确实只投了大厂),遇到了各种各样的面试题,这里遴选一些个人感觉有意思有价值的可以发出来一起discuss的题目
,希望可以帮到大家,也欢迎各路大佬不要吝啬知识一起讨论,当然也欢迎大家私信我和我一起讨论或者加入我的社群
,话不多说现在开始
1. react vue异步组件解决什么问题?如何使用?
底层实现是什么?
设想一个异步组件资源在cdn上面,那加载它的时候要拉取哪些资源,拉取到之后的流程什么?如何加入到document当中的?底层是哪个提供的服务,是什么方法?
2. 如何对一个耗时长任务做优化?
考虑worker还是时间分片?时间分片的话如果利用eventloop?ric和raf呢?怎么通过devtools判断优化到点上了?
3. git merge和rebase的区别?rebase是不是event cp?怎么回滚?co和revert是干啥的?
4. 事件代理是啥?react怎么做的?新老版本的区别?新版本解决了什么问题,怎么做的?
5. service worker怎么做缓存?会不会存满?大小是多少?
6. 前端哪些资源适合放在cdn上面?怎么做到改动之后可以实时更新?
7. eventloop是什么?浏览器和node的区别?node为什么要做异步io,怎么做的异步io?
(最难的来了)你觉得拿nodejs写服务端和go有什么优劣或者区别?
这,go有多线程协程啥的,虽然nodejs没有多线程但是异步io的话性能应该也不会有问题,当时实在是不知道怎么说了
8. 如何设计一个一千个包或者模块的的按需加载器?
ai llm 相关:
单个agent不涉及workflow的话有哪些组成部分
agent怎么调用的tools
mcp是怎么发挥作用的?底层通信协议是什么?
一下子先总结整理这些,后续可能会持续更新,如果大伙觉得不错的话也可以一起共建的
#牛客在线求职答疑中心# #牛客解忧铺# #接好运#
#牛客AI配图神器#
1. react vue异步组件解决什么问题?如何使用?
底层实现是什么?
设想一个异步组件资源在cdn上面,那加载它的时候要拉取哪些资源,拉取到之后的流程什么?如何加入到document当中的?底层是哪个提供的服务,是什么方法?
2. 如何对一个耗时长任务做优化?
考虑worker还是时间分片?时间分片的话如果利用eventloop?ric和raf呢?怎么通过devtools判断优化到点上了?
3. git merge和rebase的区别?rebase是不是event cp?怎么回滚?co和revert是干啥的?
4. 事件代理是啥?react怎么做的?新老版本的区别?新版本解决了什么问题,怎么做的?
5. service worker怎么做缓存?会不会存满?大小是多少?
6. 前端哪些资源适合放在cdn上面?怎么做到改动之后可以实时更新?
7. eventloop是什么?浏览器和node的区别?node为什么要做异步io,怎么做的异步io?
(最难的来了)你觉得拿nodejs写服务端和go有什么优劣或者区别?
8. 如何设计一个一千个包或者模块的的按需加载器?
ai llm 相关:
单个agent不涉及workflow的话有哪些组成部分
agent怎么调用的tools
mcp是怎么发挥作用的?底层通信协议是什么?
一下子先总结整理这些,后续可能会持续更新,如果大伙觉得不错的话也可以一起共建的
#牛客在线求职答疑中心# #牛客解忧铺# #接好运#
#牛客AI配图神器#
全部评论
勘误一下第三点是loop cp
同学,瞅瞅我司,医疗独角兽,校招刚开,名额有限,先到先得,我的主页最新动态,绿灯直达,免笔试~
哇,楼主真是前端小能手呢!遇到这么多有趣的问题,感觉收获满满呢~下面我尝试回答一些,希望能帮到你和大家的讨论哦!
1. React和Vue的异步组件主要是为了解决组件加载的性能问题,可以让组件在需要时才加载,减少初始加载时间。使用时,可以通过动态导入(如React的`React.lazy`和Vue的`defineAsyncComponent`)来实现。底层实现通常是通过浏览器原生的动态导入功能,比如`import()`语法。如果组件资源在CDN上,加载时会请求该组件的JavaScript文件,加载后通过模块加载器(如Webpack)的机制将其加入到document中。
2. 对于耗时长任务,可以考虑使用Web Workers来在后台线程执行,或者使用时间分片来避免阻塞主线程。时间分片可以通过`requestIdleCallback`或`requestAnimationFrame`来实现。通过Chrome DevTools的Performance面板可以查看任务是否优化成功。
3. `git merge`和`git rebase`都是合并分支的方法,但rebase会重写提交历史,使其更整洁。rebase不是event cp,它是一种变基操作。回滚rebase可以通过`git reflog`来恢复,或者使用`git revert`命令。`git co`(或`git checkout`)用于切换分支,而`git revert`用于撤销某个特定的提交。
***代理是一种技术,它利用了事件冒泡的原理,将事件监听器绑定到一个父元素上,而不是每个子元素上。React通过合成事件机制实现事件代理,新版本优化了事件系统,提高了性能和内存使用。
5. Service Worker可以通过`CacheStorage` API来做缓存。它不会无限增长,开发者可以设置缓存大小限制,默认通常是50MB。
6. 前端适合放在CDN上的资源包括JavaScript、CSS、图片等静态资源。为了实现实时更新,可以使用版本控制或内容哈希来更改资源URL,确保浏览器加载最新资源。
7. Event loop是JavaScript执行模型的核心,它处理异步操作和回调函数。浏览器和Node.js的Event loop实现有所不同,Node.js为了提高性能,使用了异步IO。Node.js和Go的比较涉及多方面,比如性能、生态系统、开发体验等。Go有内置的多线程和协程,而Node.js通过事件驱动和非阻塞IO来实现高性能。
8. 设计一个按需加载器需要考虑模块的拆分、加载策略、缓存机制等。可以使用动态导入、模块联邦等技术来实现。
关于AI LLM的问题,我也很感兴趣呢!不过,我有点害羞,不知道能不能请你私信我,我们一起深入聊聊这些技术细节呀?点击我的头像,给我发私信吧~
没有算法手撕吗,看看戎子吧,https://www.nowcoder.com/discuss/792571605141426176

mark

拿了哪些offer啦!!!
大佬 淘宝交易前端秋招考虑吗
相关推荐
昨天 12:09
郑州大学 后端工程师 找不到实习的濒临破碎...:完全没问题啊,阿里其实卡学历也无所谓的,我双9秋招也没见几个约面,库库简历挂和一面kpi

点赞 评论 收藏
分享