25秋招卷不动了,我只投字节跳动

腾讯TME

腾讯

阿里淘天

阿里云

阿里大文娱

阿里国际化

阿里达摩院

阿里菜鸟

阿里饿了吗

阿里高德

阿里健康

阿里钉钉

阿里飞猪

阿里盒马

阿里智能互联

阿里智能信息

蚂蚁

百度

快手

美团

滴滴

小红书

京东

shopee

拼多多/temu

得物

shein

网易

米哈游

华为

中兴蓝剑

oppo

vivo

小米

科大讯飞

蔚来

tplink

理想

微软

亚麻

ebay

huggingface

paypal

nvidia

中信

中金

华泰

摩根士丹利

花旗银行

中国建设银行总行

中国工商银行总行

招商银行总行

中国进出口银行总行

国家开发银行总行

农发行总行

工行业务研发中心

中国银行数据中心

邮储银行总行管理信息部

北京银行信科类

交通银行数据中心

交通银行总行

中国人寿研发中心

中国出口信用保险公司

360

百川智能

面壁智能

minimax

元象

01万物

昆仑万维

深言科技

无限光年

月之暗面

阶跃星辰

好未来

猿辅导

潞晨科技

澜舟科技

第四范式

商汤科技

旷视科技

智谱AI

九坤

幻方

乾象

天王星

佳期

北京智源

北京通用AI研究院

启元实验室

上海ailab

IDEA

之江实验室

贝壳这几家

全部评论

相关推荐

一、面试基本情况本次面试主要围绕 React 相关技术、流式传输以及算法与 React Hook 实现展开,包含技术原理问答和两道代码实现题。二、技术问题回顾与解答1. React Router 的实现机制React Router 基于 HTML5 的 history API 实现单页面应用的路由功能。它通过监听浏览器的 popstate 事件(当用户点击浏览器的前进、后退按钮时触发)以及手动调用 history.pushState()、history.replaceState() 方法来更新 URL 地址,同时不触发页面刷新。在 React 组件中,通过 BrowserRouter(基于 history API)、HashRouter(基于 URL 的 hash 部分,兼容性更好)等组件包裹应用,结合 Route 组件定义不同路径对应的渲染组件。当 URL 变化时,React Router 会根据当前路径匹配相应的 Route 并重新渲染对应的组件,从而实现页面内容的更新 。不过在本次面试中,我对这块知识掌握不够扎实,未能完整清晰作答。2. React memo 是做了什么React.memo 是一个高阶组件,用于对函数式组件进行性能优化。它会对组件的 props 进行浅比较,如果前后两次传入的 props 浅比较结果相同,就直接复用之前渲染的结果,不再重新执行组件函数,从而避免不必要的重复渲染。但需要注意,它仅对 props 变化进行比较,当组件内部状态(如通过 useState 创建的状态)变化时,即使 props 未变,组件仍会重新渲染。3. React Suspense 怎么实现的React Suspense 用于处理组件的异步加载情况,让开发者可以指定在异步操作(如数据获取、动态导入组件)进行时显示的加载状态。它通过在组件树中标记一个“等待”区域,当子组件中有异步操作未完成时,会先渲染 Suspense 组件指定的 fallback 内容(如加载动画),直到异步操作完成,再渲染实际的子组件内容。内部实现依赖于 React 的 Fiber 架构,利用 Fiber 的可中断、可恢复特性,在等待异步操作完成期间释放 CPU 资源,不阻塞主线程,提高应用的响应性能 。4. 流式传输相关讨论在讨论流式传输时,我提出可以在前端利用 Server-Sent Events(SSE)实现。SSE 是一种单向的、由服务器向客户端推送数据的技术,适合用于实时数据传输场景。同时,对于 JSON 数据的处理,采用流式解析会更加高效,比如在处理阶乘等数据量较大且逐步生成的场景下,流式解析无需一次性将所有数据加载到内存中,而是边接收数据边解析处理,减少内存占用,提升数据处理效率。三、代码题实现1. 大数相减(考虑负数结果)function subtractLargeNumbers(num1, num2) {    function compare(num1, num2) {        if (num1.length > num2.length) return 1;        if (num1.length < num2.length) return -1;        for (let i = 0; i < num1.length; i++) {            if (num1[i] > num2[i]) return 1;            if (num1[i] < num2[i]) return -1;        }        return 0;    }    const sign = compare(num1.split(''), num2.split(''));    let larger = sign >= 0? num1 : num2;    let smaller = sign >= 0? num2 : num1;    let result = '';    let carry = 0;    for (let i = 0; i < larger.length; i++) {        let diff = parseInt(larger[larger.length - 1 - i]) - (parseInt(smaller[smaller.length - 1 - i]) || 0) - carry;        if (diff < 0) {            diff += 10;            carry = 1;        } else {            carry = 0;        }        result = diff + result;    }    while (result[0] === '0' && result.length > 1) {        result = result.slice(1);    }    return sign < 0? '-' + result : result;}2. 实现一个可暂停、继续的倒计时 React Hookimport { useState, useEffect } from'react';function useCountdown(initialTime) {    const [time, setTime] = useState(initialTime);    const [isRunning, setIsRunning] = useState(true);    let intervalId;    useEffect(() => {        if (isRunning && time > 0) {            intervalId = setInterval(() => {                setTime(prevTime => prevTime - 1);            }, 1000);        } else {            clearInterval(intervalId);        }        return () => clearInterval(intervalId);    }, [isRunning, time]);    const start = () => {        setIsRunning(true);    };    const pause = () => {        setIsRunning(false);    };    return {        time,        start,        pause    };
查看6道真题和解析
点赞 评论 收藏
分享
05-30 14:34
已编辑
东北林业大学 Java
快手 - 测试开发实习生 - 已oc26号8.一面完之后hr打电话约了28晚上8.二面1.自我介绍2.问了我之前一段Java实习主要承担的哪块儿工作3.简历中两个项目介绍一下以及其中的难点4.简单手撕:找出一个数组中有只出现了一次的数 , 用了flag标记 , 面试官问还有没有别的方法 , 说用hashmap , 集合的方法 , 面试官说如果排序呢 , 回答的比较当前和下一个数如果不相等当前这个数就是结果5.说一下CSS定位的方法 , 回答的根据ID/class/tag name定位 , 为什么CSS和XPath选择CSS用的多 , 面试官说开发者工具中可以直接复制XPath语句 , 为什么不用 , 回答的最先学的是CSS所以CSS用的多6.项目中提到的Jmeter进行多用户的压力测试 , 为什么只模拟了100个用户的同时登录 , 是因为你开发的系统只能承受100个用户登录的性能吗 ? 如果不是 为什么不探究一下开发的系统实际可以承受多少个用户的一个登录? 或者说有没有进一步探究想办法能从哪些地方进行优化/提升一下让其能承受更多用户的登录7.pytest做接口验收中的断言语句怎么写8.有没有学习过哪些大模型? 回答的论文中用到的深度学习模型9.说一下CNN训练原理 ? 基于反向传播算法和参数优化 , 引入卷积层和池化层10.未来想从事的行业反问说最快明天就会出结果
查看21道真题和解析 面试问题记录
点赞 评论 收藏
分享
评论
1
38
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务