首页 / 面试时最害怕被问到的问题
#

面试时最害怕被问到的问题

#
762012次浏览 10234人互动
面试过程中,你最怕遇到什么样的问题? 希望真的不要再问这样的问题了😭😭
此刻你想和大家分享什么
热门 最新
连过中大厂17轮技术面的秘诀是什么
鼠鼠半夜睡不着,复盘了一下之前的面试,如果连着只算技术面的话,连续通过了17轮技术面,(Momenta两面,Nebula Graph两面,合合信息一面,虾皮两面,美团一面,腾讯三面,字节三面,阿里三面,我视约hr面为技术面通过)虽然只是日常实习,但是还都算中大厂,我从前端的视角出发,希望能给秋招和实习的小伙伴们一些启发。我就从老生长谈的八股,手写,项目,实习经历说起吧八股大家都背八股,你背的八股如何才能算优势呢。我认为比较核心的一个点是理解上下文。没错,理解技术的上下文。每个技术都不是凭空出现的。大部分都有专门的委员会制定来解决一些问题。我拿个最常见的八股例子吧,前端经常会问浏览器的缓存还有http版本差别。这两者其实有联系,面试官问你浏览器缓存的时候,你除了答出浏览器的缓存机制,如果还能答出expires什么时候有的,在http1.1为啥又引入了cache-control。你能把技术的上下文讲给面试官听,就能展示出你的思考。再比如非常常见的一个八股,vdom的作用价值。可能有人张口就来,什么减少频繁操作dom次数,影响性能。真的是完全这样吗?那vue新版为什么增加了无虚拟dom模式,svelte也没有虚拟dom,他们就性能不好吗?多去了解技术出现的背景,虚拟dom出现之前大家都用啥,他的出现带来的哪些改变。以这种方式去思考八股,你会发现你站在不一样的高度。手写我的手写刷的并不多,但我要确保我刷一题会一题。前端的手写包括两部分,我总结为力扣算法和非力扣算法。力扣算法前端是经典的hot题目,我的建议是跟着网站或模板刷,这里我就不打广告了。核心就一点,按照模板答题,保证同一个题目每一次做你的写法都相同。另外就是非力扣,我也是建议去看别人的总结。但是非力扣题就要有自己的思考去刷题。比如面试官喜欢问的深拷贝,很多人写深拷贝没考虑过循环引用、多类型对象嵌套的情况,如果写出一个面试时完美的深拷贝?注意我说的是面试,因为真的去看开源的一些库实现,没必要,用力过猛。再比如发布订阅模式,除了最基本的订阅,取消订阅,发布这三个方法,你练习过一次订阅,一键取消等方法吗,你知道LRU算法非常常考,那你用链表实现过LRU吗?非常高频的问题,你应该做到对于面试而言的极致,而不是可以写出的程度。项目项目有人说没亮点,但是面试官会帮你找出亮点,看你能不能接住。面试官经常会说,你的项目做了XX吗?很多时候他们说的你没想到的,就是亮点,那你下次面试抓紧搞懂加上去。不一定要真的体现在项目上,你会不会比你有没有真的在项目中使用更重要。因为是面试,你实际做的但讲不出来也会被认为你是虚的。同样,很多时候并不关心你做没做,要的是面试那个时刻讲清楚方案原理,有自己的思考。项目的亮点还可以让ai帮你总结。用一款流行的ai编辑器或者插件,喂给它整个项目或者一部分,让它总结你的亮点,拓展再拓展,就成了简历上唬人的亮点。实习经历我后面的面试这么顺利,和我在Momenta的实习经历也有关系。每次自我介绍时我都会讲我的实习经历。讲什么呢?讲你在整条业务线上的位置,注意是整条。我是前端,但我不只讲前端。我会说从车端,到云仓,到前端,再到用户的整个闭环。能说清楚整体业务是非常加分的,能体现出你对业务的思考。包括联调,和客户沟通等一些技术之外的问题。这是没实习的人面试时很难讲述的,有实习经历就要放大自己的优势。在这之后呢是一些其他杂七杂八的技巧。很多人都是练习面试,那你有没有练习过面试别人呢?这个不需要多少门槛,就和以前上学时互相提问一样。拿到一份简历,去面试别人,你就能站在面试官的角度去思考了,你就会理解面试官为什么会问有些问题了。关于复习和面经。我的建议是面经在面试的最后前几天刷,作为一种抱佛脚的手段,因为如果是同一个面试官,可能会出相似的题目。前期用地毯式复习,可以但也是最好仅仅把八股网站的题目作为一个提纲,自己去扩充里面的内容,去技术社区搜每一篇技术相关的文章来看看你不了解的地方。看到最后如果觉得我讲的不错,帮我点个免费的赞吧,有什么想知道也可以告诉我,我也会尽我能力看看能不能解决
daisy9542:我觉得讲得很不错,八股谁都会背,算法谁都练,网上千篇一律的项目谁都会照着写,但面试官更看重的是你的思考,这才是属于你的唯一的东西
点赞 评论 收藏
分享
或许运气比你想的更重要
bg:双非本,一段中小厂6个月测开实习今天发这个帖子主要是想聊一聊我秋招以来的一个发展我是在8月底辞职,打算秋招,可是看网上都说金九银十就想着自己就是一个普通本科生,现在九月份都是一些大神在争抢,所以9月份基本上没投,等到了10月份才开始秋招,可是这个时间好像已经有些晚了,今年秋招开启的格外早,提前到了7,8月份,我十月才开始,官网投了很多公司,没有任何一个面试机会,这个情况一直到了十月底才有了第一个面试,当时没有面试经验,所以不出意外的挂了后续就是漫长的投递,但是毫无例外没有面试,没有办法我只能另辟蹊径开始在BOSS上边投递,然后顺便也根据BOSS上边这个公司名称去浏览器搜索看看有没有官网投递渠道,毕竟官网上投递后还是可以第一时间被HR看到的,然后一直不停投递,一开始第一个星期基本上都是投的正式秋招岗位到了第二个星期才开始实习和正式一起投,到十一月底的时候已经沟通了700➕才有一共1个正式的,5个要提前实习的,3个实习的面试,最后结果是过了1个要提前实习的和2个实习的每次面试我都会复盘,发现这些小公司面试官问的五花八门,有的专问基础,有的专问项目,有的啥都问,不过自己也是看出来了一下门道,就是小公司不像大公司面试官那样能力比较强基本上你简历上边的他都会,然后会根据简历来问,小公司面试官他们更多的是看自己会什么,然后看看你简历上边哪些他也是会的然后来问,经过不断的复盘加上背各种各样面试题,到了11月底12月初才有了1个要提前实习的offer还有2个实习的offer,而且薪资待遇对我来说已经很可观了可是啊,人总是这样得了千钱想万钱,我又开始不满现状,但是此时的我面试能力经过这么多面试和复盘已经很强了,然后在十二月份运气爆棚,被极兔和小鹏补录捞起来面试,还有个百度测开的实习面试,这个时候因为有了offer所以感觉有了底气,面试也很自信,最后结果是全部都过了那个时候我感觉自己真的很厉害,我问了极兔那边的HR像我这样的双非本收到offer的在极兔有多少?他告诉我产研岗90%都是硕士,10%里边基本上都是211,985,想我这样的很少很少,那一刻感觉自己超级牛逼,小鹏就更不用说了,最后也是不出意外选择了小鹏所以我就我个人经历想对和我学历履历差不多的牛友一些建议第一:秋招一定要趁早,真到了9,10月,那个时候可能你投的结果可能还不如7,8,11月,第二:最好先拿小公司实习或者正式练练手,提升一下面试能力,我个人觉得因为小公司问的五花八门所以你会更加横向去提升自己能力,而且大公司其实面试没有那么难,除了一些非常卷的岗位,公司大神比较多会问的很难,一般好点的公司都不会问的那么难,他们也知道都是应届生不会要求那么高第三:当有一定能力后,就是坚持了,对于我们这样的学历,没有特别强的履历情况下,就是要抓住提前批和补录的机会,这个时候各方面不会卡的很严,是我们很好很好的一个机会第四:就是运气也是很重要的一部分,不过这个很难去说什么最后祝各位牛友都能收获自己满意的offer😁😁😁
点赞 评论 收藏
分享
2025-12-30 17:56
大连理工大学 Web前端
27届前端鼠鼠快手可灵一面
昨天面完jd特地问了一下面试官对我的印象如何 对面说挺好的 但是到现在还没有收到二面通知QwQ 今天面试前紧张的不行 好在面试官人不错 有时候想不起来也一直在鼓励我 感恩面经如下(这次基本是围绕项目来问的 没怎么问八股)1. 聊聊为什么要做这个项目2. 讲讲项目遇到哪些难点(说了打包/虚拟列表封装)3. 讲讲打包具体是怎么做的4. 为什么要使用monorepo架构 对你的项目有什么帮助5. 具体讲讲virtuallist的实现 有没有引入什么库来做?为什么不用别的库? 做了哪些优化?6. 监听virtualliat 监听onscroll事件时有没有做优化? (这个没答上来 因为没做 当时也没想到咋做)7. 讲讲icon组件是怎么做的 用户应该怎么引入(这个也没答上 )8. 聊聊第二个项目 为什么要做这个 (这个面试官好像特别在乎为什么要做某事 其实也能体现一定产品的思维吧)9. 关于项目的一些问题10. 算法考了个有效的括号 写的时候没懂他的ide是咋运行的 最后发现原来是直接输入测试用例做的 难绷反问环节问了问评价和公司业务 多久给回复 面试官说跨年之后总体来说这场答得比上场好多了 该说的都说了 临场反应稍微差一点  希望发二面
查看10道真题和解析
点赞 评论 收藏
分享
2025-04-24 23:21
已编辑
西安电子科技大学 机器学习
在字节实习了半年,跟面试官聊了才知道的事
不知不觉在字节已经干了半年了,期间跟当初的面试官和组内其他负责面试的同事聊了下,才知道面试到底看什么,在此记录,希望对大家有用。1. 简历一定要hold住📚这是面试中最基本,但也是最多人倒下的一关。很多人连自己简历上写的项目/竞赛/论文都讲不清楚,一问三不知。但一次好的项目介绍却能给面试官留下极深的印象,到现在我的一面面试官还记得我简历上的一个项目。这里讲一下如何去阐述一个项目首先,要讲清楚这个项目的目的究竟是什么,完成了什么工作,意义是什么,这也是当前互联网公司本身的运转逻辑,做的事情一定以业务为导向。其次,要讲清楚自己在里面干了什么,负责了哪些板块,技术栈有哪些。举个🌰:在这个项目/竞赛中我参与了一个专家模型蒸馏的工作,其目的是为了让参数量更小的模型有更强的专业能力,解决在XXX(对应的专家方向)的问题,在可接受的精度损失内提升系统响应速度。其中,我担任了模型SFT的工作,主要利用LoRA对模型进行微调,使用知识轮播的形式预防灾难性遗忘问题。有论文就更简单,你是第几作者,是idea提出者还是写代码实现的还是写文章的,论文创新点是什么,列举出来即可。面试官往往会深挖项目,此时就要注意讲的逻辑,了。例如,系统的输入是什么?有没有中间态?如何消费中间态?最终输出是什么?等等,让面试官知道这个项目的逻辑即可。2. 项目中的知识要有深度了解🧀对于每个项目,里面写的每一个技术栈都需要有对应的知识储备,因为面试官除了对项目本身进行挖掘,也会考察面试者的知识深度,说白了就是项目对应的八股文。如果只浮于表面,基本原理都不知道,这种调包侠行为是很容易被抓住问到死的。继续用上面的🌰:如果简历上有上面的项目,那么面试很可能会问什么是蒸馏?LoRA 的AB矩阵分别代表什么?服从什么分布?训练的GPU显存是如何预估计算的?模型训练后,评测体系是什么?如何构建的?等等...3. 基本代码能力要过关✔️有的人说从手撕就能看出来面试过没过,这是有道理的。面试官越想给过,出的题会越简单。我现在都还记得腾讯给我出了个easy的二叉树最大深度。。。不过base实在不符合就没去。但要记住:手撕过了不一定面试能过,但手撕没过面试基本不能过。最后祝大家求职顺利,能收获自己满意的offer!
点赞 评论 收藏
分享
2025-12-31 19:24
西华大学 产品经理
《被拒6次后,我才懂面试官真正想听什么》
我拿到第一个满意offer之前,一共经历过 6次失败面试。失败原因五花八门:“表达不清楚”“匹配度不高”“经验不错,但不太符合当前需求”开始我以为是运气不好,后来才发现:我一直在“自说自话”。一、面试不是考试,而是“风险评估”这是我后来才明白的一句话。对面试官来说,面试的本质是:“把你招进来,会不会出问题?”所以他们关心的,从来不只是:你会不会而是:你靠不靠谱能不能独立推进出问题时怎么处理二、为什么你“都答了”,却还是被刷?1️⃣ 回答太“正确”,但不真实很多人准备面试,背了一堆标准答案:“我学习能力强”“我执行力高”“我抗压能力不错”问题是:这些话,面试官已经听麻了。他们真正想听的是:“你在什么情况下,被逼到必须解决问题?”2️⃣ 只讲做了什么,不讲怎么想的比如面试官问:“这个方案你为什么这么设计?”很多人的回答是:“当时领导让这么做的。”这在面试官眼里,几乎等同于:“我只是执行者,没有判断能力。”三、让我面试通过率明显提升的方法1️⃣ 用 STAR,但重点放在「思考过程」STAR很多人都知道,但很少人用对。真正拉开差距的是:你当时为什么这么判断你排除了哪些方案哪一步最难这些内容,才是面试官评估你“水平”的依据。2️⃣ 主动暴露问题,反而更安全我后来开始在回答中主动说:“这里我当时其实走过一个弯路……”神奇的是,面试官的态度反而更放松了。因为:没有人是完美的但能复盘的人,风险更低3️⃣ 面试不是“表现”,而是“合作预演”当我把心态从“我要证明我很厉害”转变为“如果我进来,我们怎么一起把事做好”整个面试状态都变了。四、一个被我忽略很久的细节后来我发现,很多面试失败,其实在面试前就已经决定了。如果:简历逻辑混乱经历与岗位关联弱那面试官进入面试时,本身就是带着怀疑的。这也是我后来非常重视简历与面试一致性的原因,甚至在准备时,会用工具(比如泡泡小程序 AiCV简历王)对照“我简历里写的,是不是我面试时能讲清楚的内容”。——只提这一次,不展开。五、写给正在反复失败的你如果你正在经历:面试很多通过很少每次都不知道问题在哪请你记住一句话:面试失败,90%不是能力问题,而是表达与定位问题。你不是“不够好”,而是还没学会,如何让面试官放心。当你开始从“对方视角”准备面试,offer,真的会来得更快。
查看1道真题和解析
点赞 评论 收藏
分享
2025-05-07 11:03
已编辑
门头沟学院 前端工程师
为何我今年的大厂面试体验越来越糟糕😢
第一场腾讯挂在手写,于是苦刷力扣,此后手撕都能撕出来了;-第二场字节挂在不知道啥,基本答出来手撕也撕出来了,但面试官全程皱眉+质疑我实习经历(一个性能优化的项目,面试官问:之前有性能问题为啥项目让上线,按理来说不该上线的。我内心os:这项目初版上线的时候我估计还没上大学呢)-第三场字节挂在性能优化和监控,于是苦补性能优化;-第四场tme差点挂在场景题(已经通过jwt的用户怎么强制踢下线),面试官直言对我不满意(这么直接说出口也是有点打击到),但莫名其妙给过了;-第五场腾讯问我红黑树b+树银行家算法,真不想补了…心累,准备了一堆八股项目场景手撕一点不问;-第六场tme更是重量级,一开始我看面试官没开摄像头自己就也没开,结果面试官让我打开摄像头,自己还是不开。(要么都开要不都不开,只让我开很不尊重人)之后从针眼里扣问题就算了(eg:抛开传输协议,http3和http2还有啥区别。我现在都没参透这个问题的答案,请教各位牛友了),也只能怪我学艺不精。最后还被这位面试官狠狠说教一顿:round1🔥我问面试官对实习生的要求和期待面试官:和社招一样,越强越好,公司招你们是干活的,没时间慢慢培养,你不要学生思维。round2🔥我问:那tme没有什么培养机制吗面试官:那你还想得到什么样的培养呢?round3🔥我:有带教mentor之类的吗面试官:我发现你们这些学生都爱问这些问题,是都没有在大厂实习过吗?我们这种体量的公司都有带教的。我:嗯嗯嗯,受教了。至此彻底b溃。————————————ps:今年其实没投tme,是去年投过。今年突然收到了短信面邀还挺纳闷,想着面面试试呗,没想到被这样对待…找了一圈没找到投诉入口。
Asp1rin:这刁TME面试官能不死他
点赞 评论 收藏
分享
2025-12-22 16:34
西华大学 产品经理
如何在寒假实习面试中脱颖而出:从准备到通关的全攻略
大家好!我是小职,一名刚从秋招战场上退下来的大四生。现在是2025年12月22日,寒假马上就要来了(2026年1-2月),这可是找实习的黄金期啊!为什么这么说?因为很多公司在这个时候会放出短期实习岗位,尤其是科技、金融和媒体行业,门槛相对低,竞争没秋招那么卷。别以为寒假就是躺平时间,其实用好这一个月,能给你简历镀金,为春招或毕业找工作打下基础。根据我从Extern网站学到的,冬季实习是“低压、高杠杆”的机会,哪怕只2-4周,也能积累经验、建自信。但问题来了:寒假实习机会多,怎么通过面试拿到手?很多人投了简历,却死在面试关——要么紧张结巴,要么回答没重点。今天这篇帖子,我就分享我的亲身经历和方法论,帮你从零到一准备面试。干货满满,包括步骤、常见问题、心理调适,全是实战总结。目标:让你面试通过率up 50%!第一步:了解寒假实习面试的特点和时间线先搞清楚战场。寒假实习通常是1-4周的短期项目,公司更看重你的学习能力和热情,而不是硬技能。不同于全职面试,寒假面试往往更随意:线上为主,问题偏行为和动机。根据YouTube视频, eligibility包括基本技能,但重点是你的适应性。时间线:现在(12月)就开始投!很多公司在圣诞前后截止申请,面试在元旦前后。策略:用BOSS直聘、实习僧、LinkedIn海投,目标20-30家。优先大厂如腾讯、阿里,但别忽略中厂如小米、京东——他们实习更易进,经验一样值钱。方法论:列个Excel表格,记录公司、岗位、截止日期、面试状态。每天投5份,避免烧尽。干货:研究公司。面试前上官网、知乎搜“公司实习生经历”,了解文化。比如腾讯偏创新,准备时多谈idea。忽略这步,HR一问“你为什么选我们”,你就凉。第二步:构建你的面试心态和基础准备面试不是考试,是对话。很多人失败因为心态崩:怕说错、怕冷场。方法论:采用“成长心态”——视面试为学习机会。Instagram帖子建议,冬歇期面试前多练,提升自信。具体方法:自我评估:列出你的优势。SWOT分析:Strengths(技能如Python)、Weaknesses(经验少)、Opportunities(寒假空闲)、Threats(竞争)。针对弱点补课。模拟环境:在家用Zoom自录。穿正装,背景干净。US News强调姿势:坐直、眼神接触,别低头。时间管理:面试通常30-60min。提前10min上线,准备水和笔记,但别读稿。心理调适:深呼吸法。面试前5min,闭眼深吸3次,想“这是机会,不是审判”。我试过,紧张感减半。第三步:掌握核心面试技巧——STAR方法论升级版这是干货核心!大部分人回答问题太散,HR听完觉得你没逻辑。EY的 insider tips说:练习、练习、再练习!推荐STAR方法(Situation情境、Task任务、Action行动、Result结果),但寒假面试时间短,我升级成“STAR简化版”:两句搞定。示例:HR问“谈谈你的项目经验?”普通答:乱讲一通。升级答:第一句“情境+任务:在上学期团队项目中,任务是开发一个APP,用户增长目标50%。”第二句“行动+结果:我负责前端优化,用React重构,最终用户增长80%,超出预期。”为什么有效?逻辑清晰、结果量化。量化是王道:别说“做得好”,说“提升30%”。针对寒假实习,HR常问动机类,如“为什么想寒假实习?”答:用STAR谈过去经历(如暑假自学),行动(如何贡献),结果(预期价值)。常见问题及应对:行为问题:“遇到团队冲突怎么处理?” 方法:STAR。情境“组员意见分歧,项目延误”;行动“组织会议调解”;结果“提前完成,团队更融洽”。技术问题(针对AI/编程岗):准备LeetCode中级题。视频建议,每天刷5题。寒假实习技术不深,重点算法基础。动机问题:“短期实习,你能学到什么?” 答:诚实+价值。“我想快速上手业务,为公司贡献idea,同时积累经验为春招准备。”反问环节:别问薪资,先问“实习项目具体内容?”显示兴趣。干货:录音复盘。每场面试后录笔记:什么答好,什么坑。积累3-5场,你会飞跃。第四步:针对不同行业的面试策略寒假实习跨行业,策略不同。科技/AI:Washington U建议,学新技能如AI工具。面试多技术demo,准备portfolio。金融/咨询:Wall Street Oasis说,3.7 GPA够用,但prep interview资源如Case in Point书。寒假金融实习偏数据分析,练习Excel。媒体/市场:偏创意。准备案例,如“如何推广产品?”用数据支持。方法论:个性化准备。用Jobscan工具check JD,匹配关键词。面试前mock 3次:找朋友或镜子练。第五步:面试后跟进和多轮策略Indeed强调:面试后24h发感谢邮件。“感谢机会,期待合作。”这加分。如果多轮:第一轮HR筛,第二轮主管聊。准备一致故事,别前后矛盾。失败了?分析原因,继续投。Career Bloom的January策略:30天10场面试,坚持就赢。额外干货:用工具辅助。泡泡小程序AiCV简历王不只做简历,还能模拟面试问题,AI反馈你的回答逻辑,超实用。第六步:常见坑和避雷指南坑1:没准备问题。HR问“你有问题吗?”说没有=不感兴趣。坑2:负面吐槽前经历。保持积极。坑3:忽略非语言。笑脸、点头示意热情。避雷:文化适应。寒假实习多远程,强调自驱力。最后,心法:面试是匹配过程,不是讨好。放松,你值得好机会。寒假实习不是终点,是跳板。行动起来,投简历、练面试,下个月你就能在公司刷经验了!有问题评论区问我,加油!
点赞 评论 收藏
分享
头像
2025-01-09 18:32
已编辑
西北农林科技大学 前端工程师
【26届三段大厂】聊聊大一大二速成秒杀大厂
对27,28届想入门或者刚入门迷茫的同学,这是一部分学习路线分享✨✨✨。【在校阶段-优先基础-构建知识体系】计算机科班:1.(C语言、数据结构、算法)系统入门基础知识,面试必考算法🤛2.(机组、数电、模电、操作系统、计算机网络)传统认识计算机,在部门大厂面试里涉及,计网更是大厂面试必问选项🤟3.(实训:算法,数据库,数据结构)实践能力(复杂课设)🎁【题外话】:虽然学校课程和部分实训的水分不明,但是把自己在准备实习学的技术与方案融合到日常课设实训,加深了技术理解+老师留下好印象,以后实习被逮捕的可能性降低🎁非科班三大建议:1. 本专业前途渺茫,想换行搞钱2. 公司招聘的技术要求是什么,你就要学些什么。面试必问的计算机专业知识,找面经系统刷过去。(比如小林计网等)🎉3. 面试问你为什么“换行学计算机”,问答要依靠✨本专业学习中有涉及计算机部分,感兴趣检查自学,未来可期更有自驱力✨,虽然你懂我懂他也懂这是什么p话,但是面子上过得去就行。总不能说“我就是来搞钱,就是来卷你的”【一定基础-如何突破-提升实力】1.实践: 特色项目、丰富实习经验、有idea立刻动手2.工程: 参加青训营等进行,团队协作、Coding 能力。锻炼团队开发,git能力,代码规范3.刷题: ************,动态规划,回溯,贪心,树4.额外: 独立搜索,遇到问题自己解决,熟练使用gpt,习惯看官方文档。杜绝学生思维💊💊💊【实习生阶段】1.独立解决业务问题,遵守技术规范不要制造问题线上bug2.独立分析问题,边学边做3.GPT 编写基础代码,明白基础逻辑4.尝试发现组内业务问题,自驱使用技术解决问题💋💋💋,提升实力,给老大留下印象,算是0风险下独立发现解决需求🎁(详情看我的主页贴- “实习生爆卷产出”)🎁特色项目特点🍎🍎🍎:【字节跳动青训营项目】:关于文档协同编辑。传统的文档编辑方式存在版本管理困难、实时协作受限等问题。提升团队协作效率,支持多人实时协同编辑的在线文档平台。1. 文档管理模块:支持文件夹创建、删除、重命名、嵌套,具备权限控制与共享设置;文档可新建、导入(如Word、PDF、Markdown等格式)、导出(多种格式),并进行分类管理、删除与恢复。2. 在线编辑器:- 基础编辑:实现文本、段落格式化,可插入图片、表格、链接等媒体元素,支持撤销/重做操作。- 协同编辑:具备实时同步编辑内容、光标位置同步展示功能,设有编辑冲突解决机制与用户在线状态显示。- 版本控制:自动保存,支持历史版本管理、比较回滚及编辑历史记录。3. 实时协作功能:- 文档共享:通过链接分享,设置查看、评论、编辑权限及访问有效期。- 实时通信:集成在线评论、即时消息交流、@提及功能及变更通知推送。- 协作管理:涵盖成员管理、权限分配、操作日志记录与协作统计分析。二、技术栈1. 前端技术栈:- 框架:React 结合 TypeScript 构建用户界面。- 状态管理:运用 Redux 搭配 Redux - Saga 管理应用状态。- UI 组件:选用 Ant Design 提供美观易用的组件。- 编辑器核心:采用 Slate.js/ProseMirror 实现编辑功能。- WebSocket:借助 Socket.IO client 实现实时通信。- 其他:利用 Draft.js 处理富文本,通过 Operational Transformation 算法处理协同编辑,使用 IndexedDB 进行本地存储。2. 后端技术栈:- 核心框架:基于 Node.js 搭配 Express/Koa 搭建后端服务。- 数据库:MongoDB 存储文档数据,Redis 缓存实时协作数据。- 消息队列:采用 RabbitMQ 处理异步任务。- WebSocket:依靠 Socket.IO 实现实时通信。- 文件存储:选用阿里云 OSS/AWS S3 存储文件。- 搜索引擎:使用 Elasticsearch 实现文档搜索。三、核心技术难点1. 实时协同编辑:采用 Operational Transformation 算法保证一致性,实现冲突解决机制,确保多用户编辑数据一致。2. 性能优化:通过文档分片加载、增量更新机制、WebSocket 连接管理及缓存策略优化提升性能。3. 离线支持:借助 Service Worker 实现离线编辑,搭配本地存储与同步机制,并处理断线重连。四、系统架构1. 用户层:涵盖 Web 客户端、移动端及桌面客户端。2. 接入层:包含负载均衡、CDN 及 API 网关。3. 应用层:设有文档服务、协同服务、用户服务及消息服务。4. 数据层:涉及 MongoDB、Redis、Elasticsearch 及对象存储。五、安全考虑1. 数据传输:采用 HTTPS 加密传输。2. 文档存储:对文档加密存储。3. 权限控制:进行细粒度权限控制。4. 操作审计:记录操作审计日志。5. 安全防护:实施 XSS/CSRF 防护及敏感信息过滤。
Testbupter:太牛了,我从去年大三开始才有意识找实习,不过好在也都熬过来,告一段落了
点赞 评论 收藏
分享
玩命加载中
牛客网
牛客网在线编程
牛客网题解
牛客企业服务