携程前端社招一面

#前端##携程#
Q: 我现在的场景中,一次调用ChatGPT大约需要10s。如何让GPT更快地返回内容?

Q: 说说Window.fetch API; 知道“流”吗,这可以让GPT更快地返回内容

Q: 如果前端页面卡顿了,如何监控到它卡顿了

Q: 说一说微任务宏任务

Q: requestAnimation和requestIdleCallback区别

Q: 说一说埋点

Q: useCallback和useMemo的使用场景

Q:如何评价一个页面是否响应快

Q: 如何衡量和优化首屏渲染时间

Q: webpack的配置项

Q: SSR的基本流程/原理是怎么样的

Q: 知道Next.js和App Router吗

Q: 如何判断一个元素在视窗口中?知道曝光吗

Q: 知道React的事件委托吗

Q: 说说你对React.context的看法

Q: 说说你知道的状态管理库

Q: 说说评价页面性能的指标
全部评论
好贴,感谢分享
点赞 回复 分享
发布于 12-10 15:23 上海

相关推荐

投递字节跳动等公司10个岗位
点赞 评论 收藏
分享
从可拖拽组件的设计开始讲起,我们需要设计组件的结构,每个组件都有一个JSON格式的数据结构来描述其基本信息,包括唯一标识、名称、属性和子组件。通过React.createElement()递归地将JSON信息渲染成组件树。这个方法的参数包括组件名称、属性对象和子组件。组件的属性存储在各自的配置文件中,每个物料的index.ts文件中定义了组件的setter、事件和方法,以便在渲染时传递给createReactElement。组件通信通过事件处理来实现:通过JSON结构来定义事件,当组件被选中时,可以选择触发其方法。使用Map来存储组件ID与实例的映射,以便在需要时进行方法调用。使用useImperativeHandle暴露组件的方法,通过ref可以在父组件中调用这些方法。组件选中与高亮,定义选中机制,在渲染时为每个组件添加一个唯一的key,通过事件监听获取被点击组件的ID,更新当前选中组件的状态。利用获取的组件ID,通过DOM操作来高亮被选中的组件。在组件被选中后,配置栏会动态渲染与该组件相关的表单,用户可以通过表单更新组件的属性。每个事件使用JSON存储,包括类型和配置。在预览模式下,将这些JSON格式的事件转换为可执行的函数。技术点1:撤销与重做针对面试可以分别准备两板,首先是全量的保存,后续你优化为快照管理:采用改进的快照机制,仅记录变更的组件ID和实例,而不是完整的组件树,避免冗余数据的产生。组件拖拽的拖拽实现:通过react-dnd等库实现组件的拖拽和放置,支持嵌套结构的拖放。也可以用原生dragapi去做关于编辑与预览模式模式切换:根据不同的模式(编辑/预览)使用不同的渲染器,分别控制事件触发和属性展示的行为。可以用本地存储去存预览的数据#编程# #前端# #前端入门# #前端项目# #前端面试#
点赞 评论 收藏
分享
评论
5
17
分享
牛客网
牛客企业服务