中科院大佬
点赞 1

相关推荐

1. display: none 和 visibility: hidden 的区别• 渲染层面:◦ display: none:元素完全从渲染树移除,不占据空间(回流+重绘)。◦ visibility: hidden:元素仍在渲染树中,占据空间但不可见(仅重绘)。• 子元素影响:◦ display: none:子元素也会被隐藏。◦ visibility: hidden:子元素可通过 visibility: visible 单独显示。2. 三列布局(两边固定,中间自适应)方案1:Flex 布局.container { display: flex; }.left, .right { width: 200px; }.center { flex: 1; }方案2:Calc 计算.center { width: calc(100% - 400px); margin: 0 200px; }方案3:绝对定位 + margin.container { position: relative; }.left, .right { position: absolute; width: 200px; }.center { margin: 0 200px; }3. 闭包• 定义:函数内部引用外部作用域变量,且变量在外部作用域释放后仍被保留。• 作用:实现私有变量、函数防抖/节流等。• 注意:过度使用可能导致内存泄漏。4. React 状态管理方案及区别方案 特点** useState** 组件级状态,适合简单逻辑。** useContext** 跨组件状态,适合全局轻量级状态(避免逐层传递 props)。** Zustand** 轻量级全局状态管理,基于 Context + immer,支持订阅和模块化。** Redux** 复杂全局状态管理,需手动配置 reducer、action 等,适合大型应用。5. 虚拟列表实现• 核心原理:仅渲染可见区域内的列表项,通过滚动事件动态计算并更新显示内容。• 关键步骤:1. 计算可见区域起始索引和结束索引。2. 渲染对应索引的列表项。3. 通过 transform 或 padding 模拟滚动位置,保持滚动条正常显示。6. React 性能优化• 组件优化:◦ 使用 React.memo 缓存函数组件,避免无必要重渲染。◦ useCallback 缓存回调函数,避免子组件因引用变化重渲染。• 状态优化:◦ 避免在 useState 中存储不必要的状态(如临时计算值)。◦ 使用 useReducer 处理复杂状态逻辑,减少重复更新。• 其他:◦ 虚拟列表/表格(长列表优化)。◦ 懒加载(React.lazy + Suspense)。◦ 避免内联函数在渲染中重复创建。7. React 的状态(补充常见问题)• 状态更新异步性:◦ 合成事件和生命周期中,setState 异步更新,需通过回调获取最新值。◦ 原生事件(如 setTimeout)中,setState 同步更新。• 状态穿透问题:◦ 多层组件传递状态时,可用 useContext 或状态管理库简化。8. 代码题:生成有效括号组合(回溯法)var generateParenthesis = (n) => {const res = [];const backtrack = (path, left, right) => {if (path.length === 2 * n) res.push(path);if (left < n) backtrack(path + '(', left + 1, right);if (right < left) backtrack(path + ')', left, right + 1);};backtrack('', 0, 0);return res;};思路:通过回溯法枚举所有可能,用 left 和 right 控制左右括号数量,确保任意时刻 right ≤ left 且总数不超过 n。
点赞 评论 收藏
分享
06-26 15:58
已编辑
扬州大学 前端工程师
之前都没和pdd交流过,突然发邮件让参加个性测评,既然来了就上呗,之后说成功应聘前端研发工程师,然后笔试,昨天通知今天面试,面试第一题问标签有哪些???之后的题目也是基础中的基础,虽然我有的没答上来,有了解什么情况的吗一面答的我都没眼看,position sticky忘了,var变量提升打印undefined也错了,还能约我面试,一面说上海,上六天,要加班,难道这么缺人吗二面三个题,allsettled实现,数组展平去重,格式化数字,三位加个逗号,保存几位小数,后面就是vue生命周期,组件消息传递,项目啥的,我看其他大厂面试哪有这么容易,我个人觉得写得一般,面试官说不错,还是没搞清楚状况6月10日主管面,第一题考变量提升,new构造函数,第二题获取页面元素所有标签,去重打印标签名,第三题并发请求,按顺序且最快打印,没写出来,降低难度按顺序打印,之后并发请求按顺序打印明确作息11 11 6,海外电商整体三轮面下来真不算难,可能缺人降低了难度6. 15 hr面,根本不是聊家常,上来问我对业务和职位的理解,不知道如何回答,之后问我作息和节奏的理解,只知道11116,中间还有啥问题已经被问懵不记得了,之后问什么时候开始找工作的,有没有offer,薪资等,二三周出结果。压力最大的一面6. 17hr电话谈薪,两万六到三万达不到,问能给多少不回答,一直问我最低能接受多少,没其他出路报了两万三,最后问给了offer一定来吗6. 25信息确认了希望顺利吧6. 26offer
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务