腾讯pcg前端 再挂

感觉有点kpi,35min
中午十一点面的
这次的比较关心实习,问了实习的业务和实习期间做过的迭代和重构、优化。
然后是网络:
1.输入url后的反应
2.http几个版本的区别有哪些?https为什么更安全?
3.你了解的前端安全方面的说一说
手撕:一道手写简单设计器,问了下闭包,一道力扣mid

隔了一天后挂了
全部评论
什么部门啊?
点赞 回复 分享
发布于 04-04 18:02 湖北
手写简单设计器是啥呀
点赞 回复 分享
发布于 03-31 20:44 北京
都答出来了也挂?
点赞 回复 分享
发布于 03-30 15:41 辽宁
QQ是吧
点赞 回复 分享
发布于 03-28 14:38 广东

相关推荐

TypeScript是一种开源的编程语言,它是JavaScript的一个超集。它添加了静态类型系统和一些新的语言特性,以提供更强大、更可靠、更可维护的代码开发体验。下面是TypeScript的一些特点和优势:https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&uuid=f8842a9cffea4857b416b8fc59e8156e静态类型系统:TypeScript引入了静态类型检查,使你能够在开发期间捕获更多的错误。通过类型注解和类型推断,你可以定义变量的类型,以及函数参数和返回值的类型。这样可以减少运行时的错误,并提高代码的可读性和可维护性。类和接口:TypeScript支持面向对象编程范式,可以使用类和接口来组织和抽象代码。你可以定义类、继承、接口、泛型等,使代码更具有结构和可复用性。编辑器支持:TypeScript提供了与编辑器(如Visual Studio Code)紧密集成的开发体验。编辑器可以根据类型信息提供智能代码补全、错误提示、变量重命名等功能,帮助你编写更高效、更准确的代码。渐进式开发:TypeScript是JavaScript的超集,这意味着你可以将现有的JavaScript代码逐步迁移到TypeScript中。你可以选择性地添加类型注解,并逐步引入新的TypeScript功能,而无需一次性对整个代码库进行重写。生态系统和社区支持:TypeScript具有强大的生态系统和活跃的社区支持。许多流行的JavaScript库和框架(如React、Vue.js、Angular)都提供了对TypeScript的良好支持。此外,TypeScript拥有广泛的工具和插件,使你能够更好地进行开发和调试。
点赞 评论 收藏
分享
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。
点赞 评论 收藏
分享
评论
2
7
分享

创作者周榜

更多
牛客网
牛客企业服务