akool面试面经12.17

这家公司是做 人工智能换脸的项目的,包括 ai 面试官。

2.对异步编程的理解。阐述一下吧。

3.导出 Excel 的话怎么优化导出导致内存爆掉!请你描述一下完整的流程!

解释:Excel 数据处理优化:使用 SheetJS(xlsx) 实现万级数据的导入导出,配合 Web Worker 后台线程处理大文件解析,避免主线程阻塞;导出 2 万条数据耗时从 15s 降至 3s,UI 无卡顿。

听我自己面试得急死。。。。我自己说话好慢呐。。。 面试官说话好快呀。

4.你说一下 webworker 使用的几个限制条件。

以下是 Web Worker 的主要限制及技术细节分析: 一、核心功能限制 DOM 操作禁止 ‌ Worker 线程无法直接访问 DOM、document、window 等对象,所有 UI 操作必须通过主线程的消息传递实现 ‌。但可访问部分浏览器 API 如 navigator 和 location‌。 API 访问受限 ‌ 不可用:localStorage、sessionStorage、alert()、confirm()‌ 可用:XMLHttpRequest、fetch、WebSocket、IndexedDB 及 Web Audio API‌ 二、通信与数据限制 同源策略强制 ‌ Worker 脚本必须与主线程同源(协议/域名/端口一致),跨域需通过 Blob 或服务端代理解决 ‌。 数据传递机制 ‌ 仅支持结构化克隆算法传递数据,无法直接共享内存(除非使用 SharedArrayBuffer)‌ Class 实例等复杂对象需序列化为 JSON 传输 ‌ 三、性能与调试限制 资源消耗 ‌ Worker 持续运行会占用内存,需手动调用 terminate()或 close()释放资源 ‌。 调试复杂性 ‌ Worker 运行在独立上下文,需使用浏览器开发者工具的专用调试面板 ‌。 四、场景适用性限制 CPU 密集型任务优化有限 ‌ 虽然适合处理哈希计算、图表渲染等任务,但极端密集计算仍可能导致低端设备卡顿 ‌。 I/O 密集型任务不推荐 ‌ 网络请求等 I/O 操作更适合主线程异步处理,而非 Worker 线程 ‌。 通过理解这些限制,可以更合理地设计 Web Worker 的应用场景,例如大文件分片计算或后台数据分析 ‌。

作者:开源框架链接:https://juejin.cn/post/7526309936813572142来源:稀土掘金著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

5.请你说一下大文件的上传和断点续传是怎么实现的?

6.解释:WebSocket 实时通信:基于 Socket.io 实现前端与大模型的流式对话,支持打字机效果、Markdown 渲染、代码高亮,提升用户体验

7.对 React 和 Vue 哪个更加熟悉一些呢?

8.pnpm 比 npm 的好处?(幽灵依赖)

9.实现虚拟滚动(Virtual Scroll)优化题库列表渲染,支持流畅展示 5 万+ 题目; 说一下虚拟滚动的实现。

10.localstorage 和 sessionstorage 的区别

答:

localStorage 是长期保存,全局共享;用户偏好设置(主题、语言);用户登录状态和 token

sessionStorage:临时保存,标签页隔离的。页面的临时的状态(列表的展开和折叠)

存储位置

浏览器自动存储(本地文件 / 内存)

客户端自主存储(LocalStorage/Cookie/APP 缓存)

传输方式

浏览器自动随请求携带(Cookie 头)

手动添加到请求头(如

Authorization: Bearer <token>

跨域支持

受同源策略限制(默认不能跨域)

天然支持跨域(只要请求头携带即可)

服务端状态

通常依赖服务端 Session(有状态)

服务端无需存储(无状态,仅验证签名)

大小限制

约 4KB(很小)

无严格限制(但 JWT 不宜过大)

安全性

易受 CSRF/XSS 攻击(需加

HttpOnly

/

SameSite

防 CSRF,但存 LocalStorage 易受 XSS 攻击

适用场景

传统 Web 应用、用户偏好设置

前后端分离、微服务、移动端 APP、跨域 API

11.怎么缩小打包的体积呢?除了 tree-shaking 还有什么方法?

12.请你讲讲页面埋点的设计,你如何介绍呢?

13.你觉得 Nestjs 和 SpringBoot 的使用有啥区别呢?

全部评论

相关推荐

头像 会员标识
2025-12-21 22:11
已编辑
哈尔滨工业大学 Java
面完哭了两天,菜是原罪。只能说还是很欠缺,面试官问的问题一下就能看出来我根本没实战过,很多基础知识也很欠缺。因为面试中间就崩溃了面试官后来可以说是达到了一个菩萨的境界,一直说你还会什么我一点一点问,还有你会的我没问吗。我完全破防了一直在道歉说没想到自己准备得这么不好,面试官人很好,一直安慰我其实答得还好的。面完之后开始和豆包模拟面试才发现原来八股我基本上等于啥也不知道,感觉自己可以洗洗跳了。Deep整理的。刚开始大约有五到十分钟忘了录音,前面还有一些没记,大概是一些hashmap的问题、怎么连接上服务器(要求说具体)、输入网址到查询到的全流程。1.&nbsp;域名与IP的映射关系是怎样的?2.&nbsp;一个域名能否对应多个IP?一个IP能否对应多个域名?我回答了之后一直反问我因为我说的不对,这时候已经有点破防了。(考完试全忘了,知识基本没有在我光滑的大脑皮层留下痕迹)3.&nbsp;Spring&nbsp;MVC&nbsp;的分层结构一般分为几层?4.&nbsp;AOP(切面编程)是如何实现的?5.&nbsp;JWT&nbsp;的组成部分是什么?6.&nbsp;Rabbit&nbsp;MQ&nbsp;是什么?你在项目中如何使用它?7.&nbsp;如果Redis和MySQL数据不一致,如何处理?你真的做过吗?延时双删有什么问题?8.&nbsp;有没有更好的方案保证缓存与数据库的一致性?9.&nbsp;你是在哈尔滨还是山东?是东北人吗?(因为想知道我是我们学校哪个校区的)10.&nbsp;Spark&nbsp;的原理你了解吗?Docker&nbsp;用过吗?11.&nbsp;Hadoop&nbsp;有哪些组件?12.&nbsp;Spark&nbsp;的数据结构有哪些?(因为这个岗是数据开发,我也不知道为啥捞我)13.&nbsp;Transformer&nbsp;模型是哪年的论文?作者/公司是谁?(我真不行了)14.&nbsp;请解释Transformer中的K、Q、V分别是什么?(我真看过,但是全忘了。。。)15.&nbsp;你能否讲讲你的科研经历?16.&nbsp;BERT17.&nbsp;你们是用什么硬件训练的?(CPU/GPU,是否使用Linux)18.&nbsp;除了这个方向,还对哪些科研方向感兴趣?19.&nbsp;是否了解NLP或大语言模型(如MOE)?20.&nbsp;是否了解Launcher&nbsp;for&nbsp;J、On&nbsp;4G1&nbsp;等工具?21.&nbsp;是否用过AI辅助编程工具?如DeepSeek、ChatGPT等?22.&nbsp;你觉得DeepSeek和GPT哪个更好?DeepSeek能写代码吗(质疑)(我反正自己用起来觉得完全没问题,但是需要自己调试)23.&nbsp;你用哪个IDE?是否支持接入大模型?24.&nbsp;是否对比过Claude、GPT-4等其他模型?25.&nbsp;是否了解CNN等其他AI模型?26.&nbsp;Linux中如何创建一个文件夹?27.&nbsp;如何一次性创建多层文件夹?28.&nbsp;如何在一个文件中过滤出包含“error”关键词的行?(我不行了我们学校经常用Linux系统做实验但是命令基本全是我现去找d老师问,只能回答26,其他的不记得呵呵)29.&nbsp;Maven如何进行打包?30.&nbsp;Git在什么场景下使用?31.&nbsp;加入新公司后,Git操作的基本流程是什么?(如clone、设置remote、分支操作等)32.&nbsp;什么是Spring&nbsp;Boot和SSM33.&nbsp;MySQL的ACID分别代表什么?(行了到这里已经神智不清了中英文都对应错了,你自己觉得搞笑不)(面试官还安慰我他也记不清了没事)34.&nbsp;什么是“不可能三角”(CAP理论)?35.&nbsp;多线程如何创建?除了线程池还有哪些方式?36.&nbsp;JVM的垃圾回收机制是怎样的?37.&nbsp;JVM内存结构有哪些部分?(如堆、栈、方法区等)38.&nbsp;你常用的JDK版本是什么?到这里已经彻底破防了脑子都不清醒了,面试官说其实我们招实习生还是想要聪明肯干的我问你两个智力题,,,大概是因为我八股说得太差了,所以想找点我可能能答得上来的。还好说出来了要不然就是一个彻头彻尾又懒又蠢的傻货了。39.&nbsp;抛三个硬币,两正一反的概率是多少?40.&nbsp;三个都是正面的概率是多少?42.&nbsp;编程题:找出字符串中第一个不重复的字符(核心函数)破如防,崩如溃。
发面经攒人品
点赞 评论 收藏
分享
rt,面试岗位是C++客户端开发日常实习(剪映)个人bg中九科班本硕,本科有过一段中厂实习,主要做agent方面的项目。然后12月还参加了字节的工程训练营客户端方向,做的也是模型端的工作(约面也是因为这个训练营)自己也接了几个django后端的项目和做SFT微调的项目面经:面试的时候,先是拷打我实习做的agent的设计,又问了些大模型的八股,包括灾难性遗忘,transformer架构,怎么解决梯度爆炸,有哪些损失函数,各自的用法,有哪些激活函数,各自的用法,还有做SFT的时候碰到的一些问题,怎么解决的。我之前准备的其实就是agent开发,所以这方面的知识也还是了解的不错下面是拷打训练营的项目,问我整个前后端怎么串联的,模型选型怎么做的,考虑哪些方面,后续如果要优化高并发的话该怎么做(这块确实不太会,就没答上来,不过面试官也跟我说了可以考虑异步,线程池之类的)然后是一些常规操作系统八股和C++八股,进程间的通信方式,智能指针相关,虚函数,构造函数析构函数,多态,RAII,设计模式,单例模式工厂模式,还有其他更细节的,感觉c++那边的一些太细节的八股没答上来,但是整体我觉得我还是都说出来了最后手撕是一道非hot100的easy题,找单链表的倒数第k个节点,快慢指针秒了。写完之后面试官问如果k为负数怎么办,突然有点被问懵了,不过他说没事,我写的逻辑都是正确的。整个面试过程有1h10分钟多,反问的时候面试官也很详细的和我介绍了进去之后要做的内容。感觉全程面试官对我的项目我的经历我的回答都觉得不错,也说我做的那个训练营项目也很不错,说当天能出面试结果。当天晚上6点发了面试问卷,应该是上传面评了,但是等到第二天问hr却说还没有查到面试结果🧐,现在心里有点拔凉拔凉的,该不会最后手撕被突然问懵b了就寄掉了吧🥶
查看11道真题和解析
点赞 评论 收藏
分享
秋招无形的压力,从研究生入学的第二天就开始笼罩在了我的身上。我是两年制的硕士,研究生刚入学,恰好第二天华为就到学校宣讲,在老师的建议下听了宣讲会。会后,一大堆词汇涌入脑中:实习、秋招、开发、算法、部门、方向……我开始迷茫,我该怎么规划我的秋招?首先是方向问题。我是两年制的专业硕士,不具备发论文的条件,理论上来说算法这条路是堵死了。但我想了想本科的一些经历,从大二起就在做深度学习的相关项目,大四发表了一篇SCI,这么些内容不用实在有点浪费;硕士期间在组里做的横向项目也是计算机视觉算法相关。最关键的是,开发的那一套内容和八股我是一点不会。在深思熟虑了一个月后,我还是决定俯冲算法。要走算法的话,没有顶级论文就只能去搜广推了。此时我又遇到了困难:研一期间导师不放实习。其实学院有很多放羊的导师,偏偏自己选择了这个只放暑期实习的导师。当时真的很焦虑,因为身边的朋友都是做后端开发的,不断劝我转开发;往届实验室的专硕都是走的开发,没有能参考的案例。那段时间很煎熬。一边做实验室的项目,一边自己自学搜广推的知识。身边的同学有的一入学就跑路出去实习了,有的已经找好导师做科研准备读博了,自己想做算法还在前途未卜,身边的同学和实验室的师兄师姐全是清一色的劝退。南京的冬天很冷。在2024年寒冷的冬天里,我感觉前途就像风中的梧桐叶一般渐渐凋零,随风飘散。我研一期间没有任何一段日常实习,直接就要面对暑期实习的巨大竞争;我研一期间没有发表任何论文,实验室的横向项目没有一个能写到简历上。选择走算法这条路,或许真的是我人生选择的一次寒冬。我知道我要抓紧时间了。整个寒假我学习了很多内容:王树森的推荐系统课,深度学习transformer的八股,大模型的RAG和微调,天池新闻推荐等。我现在已经记不起春节是怎么过的了,我只记得寒假回家后的一个夜里,老爹问我大晚上怎么抱着电脑发笑,我说GPT真是天才,被BERT超过后还能想到把BERT大力出奇迹的思路借鉴过来,还真让GPT力大砖飞成功爽到了。寒假结束回学校已经是2月中旬,暑期实习的招聘陆续开了。我做完了天池新闻推荐的项目,改好了简历,开始了暑期实习的疯狂投递。暑期实习超乎我意料的顺利,7天速通美团的广告算法,后续又拿到了腾讯广告的offer。多方考虑后,最终还是选择了腾讯广告,鸽了美团的入职(代价是美团秋招直接拉黑了我)。腾讯的转正率并不高。经过了一番蠕动,最终仍然转正失败。我原以为有了腾讯的实习经历,秋招也会像实习一样顺利,可是我错了。算法岗位的实习和秋招简直是两个天地,秋招阿里系直接给我简历挂;字节总是一面或者二面就挂,问就是候选人中有更加优秀的,不再推进流程。我被美团拉黑了,秋招根本不捞;京东我投递太晚了,一直泡在池子里。从10月中旬开始,我的面试变得零零星星,机会也越来越少了。秋招时算法的hc还是太少了,而竞争者实在是太多。现在的搜广推,要么有两段及以上的大厂实习,要么有大厂实习+A会,早已不是一段大厂实习就能够畅行无阻的时代了。在这里要感谢拼多多。在所有的互联网大厂中,只有拼多多稳步推荐流程,最终发给了我一个保底的offer。这个秋招让我认识到,我当前的简历和水平仍然不够,至少还需要一段大厂实习才能够去碰一碰BAT的搜广推岗位,可是我已经没有热情去做搜广推了。在腾讯的实习中,我发现广告算法用得更多的是策略,大部分人去搜广推也是在写策略,想做召回/精排模型还要更强的背景和一定的运气。拼多多最终开了一个大包。算了算总包,如果真在拼多多干个三年,税前年薪百万或许也不是梦。而就在拼多多开奖的那一天,华为也打来了oc电话。华为的业务是LLM,方向是好的,base地也是好的,就是开得比拼多多低太多了。经过了一段时间的纠结,我想明白了,比较是无休无止的,要问自己的心理预期——抛开其他offer,华为的这个价我是能接受的。因此,我拒了多多,签了华子,秋招结束。回首整个秋招,我就是算法大军里面很普通的一员,四处碰壁,和大佬offer打牌形成鲜明对比。最终凭借一定的运气拿到了一个满意的offer,也算对当初执着走算法道路的自己有了一个交代。我有时候也问自己,到底是什么支持我走下来算法道路呢?我的回答是认清自己的定位。作为算法候选人,有效的背景无非就是院校/实习/论文。三者有其二,最终就算拿不到大包,也不至于找不到工作。因此,如果你也处于一个迷茫的时期,不妨多方面确认一下自己的定位,心里有底就不会盲目。雄关漫道真如铁,而今迈步从头越。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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