获赞
399
粉丝
253
关注
15
看过 TA
4133
合肥工业大学
2027
前端工程师
IP属地:上海
暂未填写个人简介
私信
关注
鼠鼠半夜睡不着,复盘了一下之前的面试,如果连着只算技术面的话,连续通过了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:我觉得讲得很不错,八股谁都会背,算法谁都练,网上千篇一律的项目谁都会照着写,但面试官更看重的是你的思考,这才是属于你的唯一的东西
我的秋招日记
0 点赞 评论 收藏
分享
第一份实习 还在背八股练习的鼠鼠去年三月底意外的拿到了Momenta的实习offer,一直呆在象牙塔的鼠鼠在周围学长的打气下第一次脱离舒适区去外面工作。第一次实习landing强度真的很大,还记得第一天就拉我去听会讲prd和需求,landing强度甚至比后面的字节还要大。刚从学校出来的我听的一脸懵逼,干的几乎快要玉玉。好在我有一个特别温柔的mt,帮我兜底,顺利度过了尴尬期。在这里是我第一次在社会上被认同,ld对我的评价很高。我给组里的ai转型出了一份力,提出了不少的idea和想法。还做了一个震惊+1+2的3d行车仿真demo。我在这里真的干的很有成就感,努力有回报,部门氛围好。我好想一直呆下去。但是我知道Momenta虽然在智驾行业里很厉害也挺有名,但是毕竟不是大厂,我对大厂还是有滤镜。我想要大厂的背书。第二份实习当时作为27届的大二生,拿着Momenta的实习经历,在暑假找实习的时候可谓是披荆斩棘。也就有了我之前的帖子。我感觉好开心,几乎每次面试都很顺利。字节的offer也比我想象中的轻松。我就这样去了杭州,来到了抖音直播部门。开启了我的第一次大厂实习。有了之前的经历和对字节的听闻,我是抱着刚上来强度就很大的准备的。但是我的ld很好,给了我很充足的landing时间。我第一次感觉这里的项目非常庞大,业务逻辑十分复杂。我觉得好难啊,第一个需求让我改一小个东西,我都不会改,看代码都十分费劲。除了代码,还有就是人际沟通的压力。大厂的一个项目有很多人,你要跟他们协作沟通。只有前两个需求是我mt帮我的。后面的需求全都是我独立参与的了。真的压力很大,每次回到杭州的出租屋,真的又快要玉玉了。同时期认识了不少实习搭子,缓解了一部分压力。年底的时候由于一些原因活水到上海的部门了。也就是第三段实习了。第三份实习来到了tiktok的本地生活商业化部门。这时候我已经比较成熟了。mt对我的预期也变高了,我很快就独立负责需求了,和别人交流也比之前压力小多了。尽管国际商业化的上下文非常复杂,鼠鼠还是度过了最难熬的第一个大需求。那几天经常干到半夜十一二点。感悟成长伴随孤独和痛苦,但要区分来源虽然我这话讲的很pua,但是真的就是你觉得痛苦的时候也是你成长的时候,因为不在你的舒适区了。当你回头再来看的时候你会感悟深刻。如果你真的想不断进步的话,你就要重新审视一下你当下所处的环境。以及多回头看,是不是成为了当时期待的模样。但是当你痛苦的时候,你要区分痛苦的来源。你做需求痛苦,是你没做好前期技术调研,处处踩坑,还是和你的对接方相处交流很痛苦。靠改变自己能解决的,那就是你的问题。如果是环境的问题,那就及时止损。认清自己认清自己是人一辈子都要学习的课程。你要认清自己是一个什么样的人,你适合在什么氛围的部门工作,是否对上你的人格电波。有的人就喜欢那种高压成长的环境,会给他带来成就感,有的人则更喜欢有自己的时间。学会管理自己的多巴胺有时候实习阶段的压力可能比正式压力还大。因为实习的同时还要兼顾学校的课程,这真的很累。所以找到适合自己的多巴胺的获取途径很重要。可以有个实习搭子缓解压力,可以和朋友一起打王者,可以周末去大吃一顿。这真的帮助很大。机遇和挑战并存现在大环境不好,加上ai的冲击。很多公司降本增效了。但是凡事都有两面性。有了ai学习比以前更容易了,尤其是对于计算机相关的来说。ai虽然冲击了不少传统业务,但是也带来了很多ai相关的业务,催生了很多ai相关的岗位。校招比以前激烈了,但是整体的薪资也比以前高了。我认为互联网行业仍然是一个高ROI的选择
字节跳动工作强度 1110人发布
0 点赞 评论 收藏
分享
好久没写牛客了,最近我想分享一下我关于技术上的某些看法,我的目的是满足分享欲和给大家一些不一样的观点。凡事都有两面性,技术方案也是一样,很少有一劳永逸的最优解决方案。我这里的中庸之道就是折中的意思。我喜欢举例子来说明观点。从前端常谈的性能优化入手。前端在打包文件的时候有一个分包的概念。目的是为了让单个资源不这么大,导致加载耗时过长,影响用户体验。如何看某个界面的性能的收益呢,当然就有一些指标,比如秒开率,但是核心还是用户的付费意愿和营收指标之类的。分包太大加载时间长影响用户体验,太小又会导致资源请求次数过多,增加在网络过程中耗时,那就要折中。如果就是要得到一个比较好的阈值呢,怎么做。微调。事实上很多这类问题的方案就是开不同的实验组,比较最终不同的收益。哪个收益大就用哪个。再比如react的性能优化手段。会有usecallback之类的缓存手段。但是很少有人谈这类缓存的性能开销。无论是什么缓存方式,都要增加一个是否要缓存的比较过程和缓存内容本身的开销。所以是否要缓存也应该是一个要折中的方案。我说的这些是觉得很多问题大家最好不要片面的看。不只是技术问题,生活上的很多问题,用这种方式表达自己的看法和观点。很多问题都有一个比较好的解决方案,也让别人觉得你成熟可靠。
现在前端的就业环境真的很...
0 点赞 评论 收藏
分享
鼠鼠半夜睡不着,复盘了一下之前的面试,如果连着只算技术面的话,连续通过了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:我觉得讲得很不错,八股谁都会背,算法谁都练,网上千篇一律的项目谁都会照着写,但面试官更看重的是你的思考,这才是属于你的唯一的东西
我的秋招日记
0 点赞 评论 收藏
分享
挽风ovo:手写题1:代码:class EventQueue { constructor() { this.queue = []; } // 添加事件,支持链式调用 addEvent(event, priority = 0) { this.queue.push({ event, priority }); return this; } // 执行事件,按照优先级排序 executeEvents() { // 按照优先级从高到低排序 this.queue.sort((a, b) => b.priority - a.priority); // 执行事件 this.queue.forEach(item => { item.event(); }); // 清空队列 this.queue = []; return this; } } const eq = new EventQueue(); eq.addEvent(() => console.log('Event 1'), 1) .addEvent(() => console.log('Event 2'), 3) .addEvent(() => console.log('Event 3'), 2) .executeEvents();
第一次面试
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务