秋招投了大概有20-30家公司吧,听过名字的公司都投了,一些小公司也尝试了,虽然大部分都没有消息,有些笔试全a也是挂,给面试的有字节跳动(本科有在字节实习一年)、小红书、快手、58同城、同花顺、美团、万得、腾讯云智,走完流程的有字节和美团,给offer的就只有美团了
有时候也挺后悔读研的,明明当时字节可以转正,非要出来读个研,读完后还不一定能回得去。估计还是自己没想清楚为什么要读研,本科的时候一直想着保研保研,真保上研了也不知道自己为什么要读研。读研期间对前端的热情也不如从前(估计受字节实习时天天加班,动不动就通宵的影响),然后一直在做课题忙论文,实习没找、秋招投得又晚,最后就惨不忍睹了。。。
也顺便也记录一下自己整个秋招存在的问题吧:
- 投得晚投得少:9月份陆陆续续开始投递,一开始也只盯着大厂投,一些小公司没去尝试,等到后面再去投那些小公司,基本上就没什么机会了。
- 面试准备不足:这应该是最大的问题吧,前半年一直再忙论文、忙实验,前端没怎么碰,最开始面试时其实很多都知道但答得不好,或者答得比较笼统,给面试官印象非常不好。
- 不会利用人脉:本科很多和自己关系比较好的同学都留在了字节、美团、腾讯这些大厂,然后没有及时找他们内推查进度,甚至自己都有字节实习leader、同事们的微信,也没想过找他们推一下,导致最开始在字节这边的流程卡了很久,最后不了了之。
字节跳动-飞书业务(基本上就裸面)
9.5 一面
自我介绍
聊了聊为什么要读研,如果再给你一次选择你是选择留在字节还是去读研?「上来就是暴击,给我干懵了
」
聊了聊自己读研期间的课题,以及投的论文是怎么回事。
前端相关的就问了一个:为什么hooks不能写在if/else等语句里?「之前有看react源码,从这方面答的
」
你是怎么理解React的?「感觉飞书那边特别喜欢问这个问题,就是我答得非常烂,没有从数据驱动 ui = f(state)、响应式 fiber + 异步可中断更新、组件化 component,hooks、跨平台 scheduler;reconciler;render;vdom,合成事件系统等方面去答
」
写个koa的compose。「前一天晚上还写过,但一紧张,面试时全忘了,写得磕磕巴巴,最后也就写了一半
」
算法题:二叉树最近公共祖先。「用map记录一下节点信息就能出来,不过,第一个compose没写出来,后面就没有心思写算法题,写得也非常磕巴,最后也是在面试官不断的提示下给了个思路
」
反问:具体业务
9.15 二面(挂,本来一面就该挂的)
自我介绍
聊了聊读研期间自己的课题以及论文,读研期间的收获。「开拓了视野bababa的,说得我自己也有点脸红。。。
」
当时在字节实习期间参与的项目,以及遇到的难点。「提了一嘴当时后端他们用redis做缓存,然后上线期间被打挂了的事,然后就问如果要我设计这个后端系统该怎么设计,我不会啊。。。
」
你是怎么理解React的?「也是答得非常烂,非常笼统
」
React18新特性(concurrent)?「这个自己是知道的但是答得不好,甚至一些hooks的名字都叫错,还瞎说一些错误的观点
」
webpack tree shaking。「知道,但是忘了
」
两道算法题:
实现数组的reduce方法。
忘了,好像还挺难的一个题,暴力能做,但是面试官要我想不暴力的方法。「不会。。。
」
思维题:老鼠毒药问题。「也不会。。。
」
(估计面试官也不想为难我,最后给了个评价:“技术栈有点老”,那确实,连简历都是两年前的)
反问:具体业务,前端最新的技术有哪些?
快手
9.20 一面(挂,这不挂就有鬼了,后面复盘都不知道自己答了些什么鬼玩意)
自我介绍「都开始说得磕磕巴巴,给面试官一个非常不好的印象
」
问了问研究生期间的收获。「有点说不上来
」
聊了聊实习期间参与的项目。「以前实习的时候有接触到低代码平台,刚好这个面试官也是做这个的,然后就一直在问我这方面的东西,就是差不多都忘光了。。。
」
介绍自己做的那几个项目。
前端相关:css的flex布局
前端安全:xss、csrf、中间人攻击这些。「csrf答得不好,然后还一直在跟面试官犟
」
TCP和UDP的区别
口撕:二分算sqrt(x)
算法:节流,防抖
反问:低代码;如何看待现在前端的发展;快手是react用得多还是vue用得多
9月份后就开始慢慢自我怀疑、自我否定了吧,每天都在懊悔、都在焦虑,看书看不进去、刷题刷不进去,论文也不想看,实验也不想跑。到10月份的时候,找上自己的好友,聊了聊前端相关的东西,调整了一波心态,又接着面了。
小红书(泡池子)
10.12 一面(面试官应该是对着题库在问,问的东西都没有难度)
自我介绍
聊了下研究生期间的课题
聊了下实习参与的项目
css的position有那些属性,简单介绍一下
实现三栏布局
讲讲flex布局常用的属性
javascript类型判断,typeof instance Object.prototype.toString Array.toString这些
javascript中的this「javascript两年前就滚瓜烂熟了,理解还算深刻,这部分都能答得很好
」
javascript异步代码看输出结果「比较简单
」
es6相关,箭头函数这些,也是没难度
react中的diff算法设计思路以及与vue中的对比「有看过这方面的源码,答的还算可以
」
react的fiber
script标签中defer和async的区别
跨域相关(jsonp、同源策略这些),以及请求预检
算法题:最长无重复子串(滑动窗)
10.19 二面(面试官是真滴帅)
自我介绍
低代码项目具体功能的实现,如果要实现协同编辑,该如何做「emmm,当时瞎说了个方案,感觉这个协同编辑问题并不好解决
」
react原理
http1、2、3「标准的八股
」
webpack tree shaking。「好在之前恶补了这个
」
定时器相关的问题,大概是一直设置定时器会不会造成栈溢出,不过我应该是听岔了,回答了浏览器中定时器的原理「setTimeout嵌套层数大于5会出现4ms的延迟,balabala。。。
」
算法:实现es6中的flatten()「忘了,没写出来,面试官都看不下去了,然后换了个题
」
一个嵌套对象,给个id,查找其路径「一个简单的dfs
」
反问:部门业务;vue用得多还是react用得多(vue),我主要以react为主,Vue只过了几遍文档,没具体用过;
10.22 三面(他主要做跨端的,我不太熟,所以感觉答得不太好)
自我介绍
为啥选择前端「感兴趣呗
」
两道算法题:
实现个栈「用了好几种方法实现,包括最原始的单链表,还讲了讲symbol等一些javascript语言基础那些东西
」
出现一次的字符串「做完后夸我javascript非常熟,话说能不熟嘛,以前那真是沉迷javascript这门语言,沉迷到废寝忘食
」
问了问react native 和 小程序的东西。「但我了解得不太多,只能凭感觉答
」
扣简历上写的低代码项目,然后就是痛苦的开始,答得其实还好,整个逻辑都捋清楚了,只是他觉得这个东西没有意义,没有解决目前生成的代码可读性差的问题「提前pua,我就造了个轮子,真没做啥高端的,最后说我做东西没有目标性balabala的,那可能也确实是这样。。。
」
之前在字节实习的收获
反问:问了下部门情况,主要是以跨端为主
字节跳动-Data前端(泡池子)
10.13 一面
写个判断JavaScript类型的函数。「还能有这么简单的题?
」
看你用到了Object.prototype.toString()方法,能给我介绍一下JavaScript中的Prototype吗?为什么不用Object.toString()或者Array.prototype.toString()。「别的地方的toString都被重写了,所以不能用
」
简单定义个TypeScript类型,例如对象的key是string类型,而value类型
介绍一下Typescript的范型
讲讲JavaScript中的事件循环
了解函数式编程吗?简单实现一个curry函数。「这个秒了
」
了解React Hook吗,它解决了怎样的问题
了解React 18的最新特性吧,讲讲concurrent是怎么回事
了解Webpack不,讲讲Webpack的打包流程
实现一个useRequest Hook,例如let {data, loading, cancel} = useRequest(url);「翻过ahook的源码,大概知道怎么回事,写起来很顺,cancel可以用调abort方法实现
」
讲讲从浏览器输入url,到dns解析的流程
你觉得还有什么是你比较擅长,但我没有问到的吗「谦虚中。。。
」
算法题:最长无重复子串(滑动窗)
反问:部门的业务;如果通过的话二面大概什么时候(虽然第二天就二面了)
10.14 二面(面试官看起来年纪比较大,所以问的问题有点偏八股)
自我介绍
写个css,当文本没有超过容器宽度时居中显示,超过宽度则换行,并左对齐「display:tabel-cell或者width:fit-content,但是面试时忘了怎么写
」
讲讲css的flex布局
实现下Promise.all「讲道理,别说Promise.all了,要我手撕个Promise都没问题
」
js闭包,this指向,es6的let/const,箭头函数等等
js异步,异步代码给输出「给的是nodejs下的,然后还比较复杂,不过也不难
」
service worker「只是听过,知道是用来做缓存的
」
场景题:设计个权限系统「emmm,这个估计答得一般,开始还以为要从后端的角度答,后面发现只要答前端逻辑就行,然后一直在回忆当时字节实习时找leader审批时的流程
」
jsBridge原理
http1/2/3,http和https,协商缓存强制缓存「纯八股,没啥好说的,面试官最后评价说基础很不错
」
算法题:组合总数,给个数组[1,2,3],target=8,求所有等于8的组合。「dfs秒了
」
反问:具体业务
10.20 三面
自我介绍
为何选择前端「感兴趣
」
拿了哪些offer「我个fw,像是能有offer的样子嘛
」
研究生期间做的项目,以及期间接触前端的情况「好像面试官有点嫌弃我研究生两年对前端接触的不够多,但我自己觉得自己毕竟在读研,重心还是得放在科研上
」
实习做的项目,挑一个说「一直在问:“还有其他难点吗”,emmm,有我也回忆不起来了啊
」
算法题:
版本号排序
计算对象中值是数字的总和(类似深拷贝的思路)
「总之,两道都不难
」
反问:data部门的具体业务
11.1 HR面(害,估计是这块答得不好,然后就一直没有后续了)
自我介绍
如果在给你一次机会你还会选择读研吗?「我tm直接破防
」
为什么选择读研
职业规划
如何有效沟通
在实习过程中,自己的缺点
成就感最大的时刻
data部门的具体业务知道嘛「我。。。大概知道吧
」
看到你平常也有做后端,那么为什么不选择后端「后端java/python/数据库这些都会点,但不够精
」
如果只要你做前端呢?
反问:base是哪(北京)
58同城(挂)
11.10 一面(面试官人很好,而且还和我是一个学校的)
自我介绍
介绍一下实习参与的项目
介绍自己做的那几个项目,有哪些难点
SSR和CSR的区别
前端性能指标评估
前端的ci/cd
开始聊天「因为是同一个学校的,然后慢慢就聊起来了
」
反问:58还招人不;具体业务是啥
11.11 二面(挂了)
自我介绍
职业规划「有点懵,一时间不知道怎么规划
」
实习参与的项目
jsBridge之类的东西
setTimeout为啥不准「线程间通信会有延迟之类的
」
算法题:不重复的数字
接下来就是等offer的不知道第几天,焦虑,破防,看书无力,刷题无趣,论文看不进,实验不想跑,要不直接开摆等春招算了。
南方电网
12.02 (面试是过了,想着要不找个家里的电网躺着算了)
同花顺(数据可视化方向的,虽然我可能对这块并不熟悉)
12.07 一面(睡过头了,而且也没收到一面的邮件,还以为没有面试来着)
自我介绍
算法题:大数相加(相减的思路也说下)
为什么选择前端,为什么不考虑算法方向「喜欢前端,还有算法我卷不动,之前投的论文还在大修,怎么也得有个顶刊论文再投算法岗吧
」
介绍自己的项目,以及为啥要做「emmm,大部份都是自己有某个想法,然后就去做了,或者说尝试一些新技术之类的
」
React原理相关
怎么学前端的,平常会看哪些东西
设计模式,以及用过哪些设计模式「这太多了,什么单例、观察者、发布订阅、中间(职责链)模式、原型模式、策略模式等等,有时候可能用到了,但一时间不知道他叫什么名字
」
Promise的原理「观察者模式
」
平常看过哪些项目的源码「React、Vue、Redux、React-Router、axios、nodejs、v8这些平常都有去看过,就是有些看的比较早,有点遗忘
」
反问:可视化这块需要看哪些资料,如何学习
12.09 二面
自我介绍
为什么选择前端
职业规划等等
算法题:含有4个元素的数组,删除其中一个数能获得最大整数「很简单的题
」
Electron原理有了解吗「老实说只会搭壳子,顶多再封装些C++ addon
」
React 并发渲染,setState的更新流程
前端优化相关,缓存除了indexDB、service worker、localStorage外还知道别的不「面试官提了个memory cache
」
介绍做的几个项目,遇到的难点或者坑
js的for in和for of,如何把一个对象变成可迭代对象「实现[Symbol.iteractor]属性
」
反问:具体业务,React多还是Vue用得多(Vue)
12.17 HR面
自我介绍
家庭情况,父母对你的影响
对base有什么要求
在校担任职务「本科和研究生都是副班长
」
在校期间的其他经历
个人爱好「打游戏,喜欢研究游戏里面的一些机制,喜欢写游戏攻略,在某个玩家论坛上也有1w多粉丝之类的
」
喜欢看什么书
实习的收获
读研期间的收获,举个具体的例子
期望薪资
反问:无
美团(offer,呜呜呜,谢谢hr姐姐)
12.07 一面(面试官是个小姐姐,哭了,还以为前端没有女生,而且人特别好)
自我介绍
在字节实习时参与的项目
定时器原理setTimeout/setInterval「以前翻过v8的源码,本质上都是二叉堆,然后也有等待队列和就绪队列,与react里的scheduler的实现有异曲同工之处,大概
」
js异步「答得比较多,而且自己对协程也有些许研究,然后就从异步非阻塞io、事件循环等一直展开说了
」
react和preact的区别
react和vue的区别
react有没有什么缺点?
react hooks为啥不能写在if/else里「底层实现就是个链表,一个有序的东西
」
前端优化相关「知道些通用优化方法,比如离线化、缓存之类的,别的不会
」
计算机网络相关
TCP和UDP,三次握手和四次挥手「四次挥手忘了
」
websocket的原理「只知道用,原理忘了
」
看哪些书,如何了解前端的新东西?「我。。。推特上关注了尤大大和Dan,没事就看他们发推,各种公众号,掘金之类的,书籍的话,es6标准入门和js高级程序设计都看了不下4遍、webkit技术内幕、nodejs来一打c++扩展、css新世界等等
」
算法题:挑一个自己比较擅长的标签「我。。。半个多月没刷题了,题感不一定还有,就说了个滑动窗
」
滑动窗口的最大值「一道hard,而且以前做的时候也是单调队列做的,现在也忘了怎么写,就暴力写了一遍
」
实现个LRU「这个简单,只是写到一半,然后到时间了,就把没写的思路给说了一遍
」
反问:具体业务;跟我说可以入职了自己选,甚至做后端客户端都行;
12.08 二面(面试官应该就是我的leader了,人也特别好,就是最后说加我微信没加)
自我介绍
了解美团优选吗「简单点进去看过
」“准备得不充分啊”
为什么选前端「兴趣,以及有ui设计天赋之类的
」
拿了哪些offer「我。。。都在泡着
」
低代码相关「以前实习时有简单参与过这个
」
如何看待裁员「我。。。提升自己的竞争力吧,即使不幸被裁了也能去其他公司做自己感兴趣的东西
」
如何提升自己的竞争力
学过的计算机课程「计算机网络,操作系统,编译原理,计算机组成原理,数据结构,数据库,算法,c/c++/java/python,nosql数据库,通信原理等等
」
“计算机基础和前端方面你希望我问你哪个”「想都没想就说前端,然后面试官说了一句挺在理的话
」
“你作为科班出身,如果不熟悉计算机基础的东西,只会前端,那和那些外包有什么区别”「然后就开始带上痛苦面具,毕竟上次看计网这些还是在9月份
」
OSI五层模型,分别介绍
物理层「研究生做的课题偏通信,所以能拓展出非常多物理层的东西,包括信源编码、调制、发射机硬件等等
」、数据链路层、网络层、传输层、应用层
列举一些使用tcp和udp的应用层协议,http(tcp)、websocket(tcp)、http3(udp),为啥http3会用udp
为啥不选择算法,而选择前端「算法我卷不过别人
」
https相关,证书验证流程,为什么会出现中间人攻击
如果线上某个页面不显示了,可能是哪些问题「dns劫持,但我不太了解这个
」
cdn原理「很早的时候看过,然后忘了
」
别的可能有点忘了,反正都是些计算机网络的东西
算法题:
组合总数,和字节那个一样,但是,有负数,这就只能暴力写了,可惜没有转过弯来,一直在想怎么剪枝
如果给你发offer,你来吗「我。。。给我发了我就来
」
反问:具体业务;“来了的话你想做什么都行”;可以选上海吗;“上海招满了,所以只能来北京,而且北京互联网公司多呀”;
12.13 HR面
自我介绍
为什么选择读研
你成绩很好,是保研的吗「早知道就不保研了
」
实习期间最大的挑战
实习期间部门同事对你的评价「评价都还不错,但是leader以及其他几个同事都劝我留在字节,然后给转正,也许当时就该留在字节
」
字节实习一年的收获
读研有哪些收获
期望薪资「其实没啥好期望的,哪怕是个白菜价我也能接受,毕竟fw一个
」
如果给你发offer你来吗?「表现出那种态定且坚定,给offer就来
」
有同学在美团吗「本科实验室的挺多都还留在美团
」
反问:无
最后offer开的薪资也还可以,不是白菜价,也算知足了,而且一面二面面试官人特别nice,加上本科挺多同学还在美团的,城市也是自己以前熟悉的城市,没啥好拒绝的,毕竟今年形式就这样,后面老老实实改论文吧,实验室我们这届的第一篇顶刊估计得靠我了~
万得(挂,挂得莫名其妙)
一面(两轮)
第一个面试官
自我介绍
数据结构基础知识「什么链表、栈、队列、广搜、深搜、树、堆、图反正全给说了一遍
」
OSI五层网络模型
介绍一下自己做的项目
实习期间参与的项目
「最后评价,基础非常扎实,然后很优秀之类的
」
第二个面试官
自我介绍
为啥学前端
介绍一下自己做的项目
实习期间参与的项目
实现个三栏布局
如果app里面实现个页面,react native和纯webview哪个更好
场景题:线上的某个页面加载慢,如何优化
「然后我就挂了
」
腾讯云智
12.14 一面
自我介绍
实习参与的项目
说说es6的新语法
react fiber
react hooks能实现类里面的所有生命周期吗
webpack、vite、rollup适用场景
less/sass解决了什么问题「漏了个模块化,当时忘了这个点
」
“你前端基础很不错,我也不多问了,你还有什么想问我的嘛”
反问:腾讯云智具体业务;技术栈;春招还会开嘛;
总结
有一段时间是自我否定到了极点,也不知道活着的意义是啥,数不清的感谢信,到处泡池子,笔试笔完也没消息,还有像小米凌晨两点还给我发了两封感谢信=_=。。。加上后面要忙毕业论文,也不知道春招还有没有时间准备,焦虑ing。。。