2023前端实习生面试记载
关于我
掘友们大家好,我是碳苯,一个编程学习时长两年半的前端仔。
触摸快一年了,碍于水平有限,一直没敢发文。
但用舍由时,行藏在我,今日我也摩拳擦掌大胆来一手布鼓雷门!
或许我的文章水平不足以被你保藏,可是假如能够的话,还请我一个鼓励的赞吧!
这对我来说我莫大的支撑!十分感谢!
冬季刚刚曩昔,可是环境也仍是十分寒冷。这种情况下,咱们更需求抱团取暖才干坚持下去,下面是本人23年前后找实习的一些面试总结,希望能帮到大家:
初创小厂
一面
- 做一下毛遂自荐(据说我说了两分钟)
- 对微前端的了解(诘问微前端款式阻隔)
- 对sandbox的了解(后知后觉能够说eval的)
- 浏览器事情循环
- NodeJS的事情循环
- 箭头函数和一般函数的差异(太久没复习只想起this…)
- JS事情代理
- Vue2和Vue3的差异(实际上个人更多是用React…)
- 组合式API和选项式API
- 组合式API的生命周期(只说了个Hook,不晓得欸)
- 数组常见的方法,其间哪些会改动原数组。
不是挂了,是真的只有一面
咳咳,太久没面试有点严重,毛遂自荐太长了需求紧缩一点。
不过上来问微前端也给我整得有点懵,没答好,可是这之后几天我也没把微前端放在心上。
(埋下伏笔)
三线大厂
一面
没问我八股,毛遂自荐结束之后直接就扔一个规划图,让用React完成界面和功能…
什么?让我堂堂切图仔写界面,这简直便是什么金风玉露一相逢,胜却人世许多!
写了我一个半小时,终于给写完了,跟坐牢似的。
写完就算过了。
晚上又给我打电话口头聊了会,大约谈了下技能方向,个人成长等等。
hr面
- 毛遂自荐(紧缩到了40s左右)
- 上一次实习的事务、薪资等
- 为什么这次选北京(这能为啥啊,这哪里是我能选的啊)
- 假如发offer,大约啥时分能来(学校还有考试要处理,最晚月底前)
- 有什么想问的(技能栈、事务方向、可否转正、有无导师)
说实话其时现已心动了,据说曩昔是架构大佬带着猛干
我的天啊,我都不敢想,架构师这几个字在我眼里都是冒金光的!
可是最终仍是没去。
一线大厂
一面
- 毛遂自荐(40s)
- 第一段实习阅历介绍
- 对微前端的了解(不是吧,又问这个,不过这次至少比前次答得好些)
- 身份认证(cookie,session,token)
- cookie有什么问题(存储,安全)
- 介绍token,为什么token能够处理前面的问题(忘了jwt原理,可是我说我通过https类比猜测一手,过后一看公然差不多)
- 跨站脚本进犯(token在头部,而cookie能够被获取并传递)
- vue、react处理了什么问题,说说了解(处理了我的吃饭问题)
- nodejs模块和es6的差异
- 用nodejs做了哪些东西(花里胡哨的玩具项目)
- http/1.1 http/2 websocket
- websocket之外,还有什么处理计划
- 项目中比较难的技能点,亮点(经典八股)
- 浏览器事情循环机制(强行扯上了八竿子打不着的尾递归)
- promise处理什么问题,async/await的优劣
- 调查this指向,严厉形式class
- 手写题1:不传参,也不使用全局变量,完成一个函数,第n次调用则返回第n个质数
- 手写题2:扁平数组转树状
- 你有什么想问我的吗(怎样成为编程带师,从拿来主义变为自我创造)
我的天神啊,面了90分钟,直接把另一家的面试挤掉了
因为时间太长了,中心或许还问了一些问题我也忘了…
不过经过这次我才发现我还挺能聊的…
二面
- 毛遂自荐
- 对微前端的了解(是什么,处理什么问题,怎样完成)
- 沙盒怎样完成(说了iframe,with和eavl,其他不知道)
- 款式阻隔怎样完成(没答上来,后来才想起加个前缀不就完了,进一步还能够用传说中的影子dom)
- 现代微前端有哪些完成计划(只记得中心基座了…)
- React中useCallback和useMemo有什么差异,useCallback的使用场景(我说我忘了,面试官多次质疑我,说我肯定知道…)
- TS中type和interface有什么差异(啊,好经典的问题,可是我没复习只随意应付了两句)
- 动画完成,用transform和position: absolute两种哪个更好,为什么
- GPU加快的具体进程(不会)
- 浏览器接纳到html文件后烘托的进程
- 生成render tree之后具体是做了什么(不会)
- 是只有WebGL相关的烘托才会用到GPU吗(其时答的一切烘托都会用到GPU的栅格化线程,不知道对不对)
- 标题1:this指针指向
- 详细说说箭头函数的this(前次面试不是问过吗…)
- 标题2:函数的参数传递战略(JS的传参战略)
- 标题3:柯里化
- 标题4:完成一个恳求函数request,每次最多能并发max个恳求,且要求尽或许快地完成它们(废了,没写出来)
- 你有什么想问我的吗(技能栈)
惧怕极了,之后好几天都没音讯,我大约是的确是寄了
成果没寄,后往来不断查了下GPU相关的内容,原来是层合成之类的内容
过后我仍然心有余悸…
之后好好猛学了预备了一波
三面+HR面
HR和leader一起来了,leader在另一场面试,HR先问了一些内容,然后leader才来的
面了一个小时,许多问题记不清了
- 毛遂自荐(紧缩到30s了)
- 前次实习事务介绍
- 前次离职的原因(还得回去读书的嘛,不然怎样拿学位证捏)
- 有读研的打算吗(找不到作业那就只能读研了)
- 【leader上线】前次实习的事务针对什么用户,这些用户有什么特征(彻底不明白啊…)
- 关于用户相关指标的了解(额,那个,其实我事务了解不太深入…)
- 前端性能指标,以及性能优化(Perfomance目标上的都是)
- xss进犯是什么,怎样防备(经典问题,可是我没背)
- BFF开发和前端开发的思维有什么不相同(其时说的是安全危险的来历)
- 其时的BFF是前端担任运维的吗,假如上线后BFF报错,怎样排查bug(其实我也不知道是谁在运维…而且没遇到过线上问题…)
- 微前端的了解,和iframe有什么差异(啥?iframe不算微前端吗?)
- Monorepo的优点
- 之前实习的作息时间,能实习多久
- 标题:正则完成数字字符串,在千位,十万位等以此类推的方位加上逗号
- 前次实习的最大的收成和挑战是什么(便是自己太菜)
- 在校最喜欢的课程是什么(物联网信息安全)
- 前次实习的leader对你的点评是什么(没有点评,他平时太忙,我走得太仓促)
- 前次实习周围的搭档对你有没有什么建议(“你仍是去读研吧”)
- 前次实习遇到过block case没有,怎样处理的(抱大腿)
- 能实习多久
- 你有什么想问我的吗(产品思维相关)
其时是阳了的第二天,感觉自己状态不太好,许多问题也没答复好。
可是万幸仍是过了。
独角兽
一面
- 毛遂自荐
- 第一段实习的事务亮点(便是事务居然能奇迹般地上线了)
- SVN和Git的差异,对Monorepo的了解
- NodeJS的事情轮询机制
- Vue和React更擅长哪个,为什么需求虚拟DOM
- 说说Vue的diff算法吧(我深思这我要怎样说,莫非背代码? 最终大约说了一下硬暴diff、双指针diff再到四指针diff)
-
标题: 乱序数组,A+B问题(开端没留意不保证有序,我反手一个二分查找,然后发现要排序,直接又是一个sort,再然后发现输出下标可是输出的是排序后的下标,最终再来个O(n^2)循环map映射一下,整体下来丑陋得一比。
写完面试官问我,“一定要排序吗?”。我灵机一动改用map优化到O(n)了。
不得不说尽管二分写得丑,可是也的确表现到位了。) - for和forEach有什么差异
- 前次为什么离职,能实习多久
- 有什么想问我的吗(技能栈,之前提到的模块联邦是什么)
没怎样刷过力扣,后来才知道这是第一题…
莫非说,我在面试官心里就只有这种水平吗,他和我看对眼了所以给我放水了?
二面
- 毛遂自荐
- . 说一说思路:打印一个二叉树的左视图
- 之前的项目或实习有什么挑战性的阅历
- 上一段实习的收成是什么,这一次的实习的预期是什么
- 有什么想问我的吗(技能栈,部门事务,您重视的前端方向的新技能)
其时现已在等上一家大厂的面试成果了,想的是要是上一家挂了我就去杭州了。
有个认识的学长也在杭州,让他带着我猛学+健身也挺不错的。
惋惜最终仍是没去,所以健身就放置了。
一线大厂
一面
- 毛遂自荐
- 前次实习是做什么,介绍一下其事务交互相关的东西(做牛做马)
- 假如让你完成一个图片上传,你要考虑哪些东西(直接参阅HTTP报文怎样传的)
- 大文件分片上传怎样完成,分片上传,断点续传,何时开端兼并,丢包又怎样办(说了将近10分钟)
- ES6更新了哪些东西
- 细说promise
- 浏览器事情循环机制
- 经典的var声明变量,for循环里装一个setTimeout作为值,问输出成果,又有哪些方法能让输出成果变得契合预期
- 输入url之后到页面烘托之间的进程(分析到缓存的时分感觉面试官听背书听免疫了,我就开端快进了)
- 页面首次烘托时,能够进行用户交互的机遇是什么(盲猜的DomLoaded)
- 假如dom现已挂载结束,script还在加载,此刻能够履行点击事情吗(我做了一波分析觉得能够,可是他后来说我了解有偏差)
- 标题:乱序数组,A+B问题,输出多对解(我傻了呀,怎样就又给我来这种题啊,简直是看不起我啊!我总不能又像前次相同强行写个二分吧。这种题直接给正派答案那我怎样表现自己啊,我反手一个node形式代码,终端标准输入流一把梭——面试官甚至一开端没看懂我写的是什么,的确狠狠装到了。)
- 还有什么想问我的吗(怎样指定复习计划比较合理,技能栈是什么)
最终说假如有音讯会通知我,我感觉多半是寄了
可是仍是收到了下一面的邀请…
让我十分震惊
二面
- 毛遂自荐
- 说一下对微前端的了解(又来是吧)
- 说一下electron的了解(仅仅用过,不了解原理)
- bind,call,apply有什么差异
- 现场写个小游戏:黑桃红桃A-8共计16张牌,4*4居中摆放布局,开局洗牌随机分布。开端都是反面在上(蓝色),点击后翻牌,翻开两张牌后假如相同则消去,但布局不能改动;不相同则又翻回反面;(有点慌,没写完…)
最终仍是过了,本来想着是大厂,去那里一定是会有十分多的收成。
其时我感觉仍是十分神往的,直到看了一下北京一个月的房租…
一般小厂
HR面
十分有特征,居然是先HR面过了才会有技能面
之前约面问我九点能够吗——其时我就知道这家公司多半是八点钟就上班了…
- 毛遂自荐
- 最早学习的框架
- 页面烘托时,vue2的生命周期触发哪些(除了created都忘了)
- 绩点排名,高考成果,高考全省排名(瞬间我就怂了)
- 目前投递了哪些公司,有没有拿offer(投了一堆,拿了哪些不告知你嘿嘿)
- 88*98是多少(大早上不太清醒愣是算了十秒左右,可是你这是问的什么啊)
- 8个外观相同的小球,其间有1个更重,最坏的情况下至少称几次能找到最重的这个(猜的二分, 3次)
- 预期薪资多少
- 你有什么想问我的吗(并没有)
这是唯一一家挂了的…
总结回顾
之后摆了几天大烂,天天通宵打游戏到早上七八点….
个人感受
全网共计发起400+应聘,30+次检查简历,6家面试。
还有一家面试被上一家90分钟超长占线给挤掉了
后边在我入职的时分才又收到了几个简历通过的音讯,就拒绝了,尽管很惋惜,不过也没方法。
总的来说,失利是常态,成功仅仅许多失利中的偶尔。
重要的标题
面试官依据简历上的技能问问题,
归纳我个人和其他同学的面试阅历,一些问题经常出现:
-
【高频】关于微前端的了解
概念/效果
破坏巨石,一个主使用+多个子使用,技能栈、打包构建等都是彻底独立的,担任不同使用的团队能够选取最合适自身情况的技能栈,这样不只能够进步开发效率,也能够降低团队人员学习的本钱,也便于各个使用的技能栈更新(比方QQ,假定以前用的JQ,现在要用React,以前就只能直接推翻重写。而用微前端的话,重写子使用就行,削减破坏的规模)。
完成方法
主体框架:iframe,后端路由分发,模块联邦,中心基座
款式阻隔:css选择器加hash前缀,…(其他的忘了)
JS阻隔:函数效果域,eval效果域,with关键字
-
【高频】事情循环机制
浏览器
调用栈、宏使命队列、微使命队列,比较经典,顺着说一遍就完了
V8
和浏览器大体类似,仅仅宏使命分了6个类型,每次宏使命阶段,要履行6个类型(不必记完6个,记住timer类型和poll类型就行了)
-
【较多】规划文件分片上传
(input类型设置为file,多文件还要额外写multiple,结合JS的fileReader来获取上传的内容,要对其类型做校验,并且要对超越大小阈值的文件进行切片再从头封装)
转为二进制,然后按长度切断,封装成目标,保护两个值 当时目标的序号 和 切片总数,发送给后端后,要及时确认是否丢包,参阅TCP的操作,假如丢包了,那么在下一次成功恳求的呼应体里需求给出相应的信息。
为了避免是最终一个包丢了,还要额外发起一次恳求询问是否接纳到了一切包,假如是,那么后端开端兼并文件;假如不是则依据呼应内容从头发送。
(别的,HTTP报文里面有个range字段如同能够结合利用一下,可是我没有持续研讨这一块了)
-
【高频】ES6相关
- Promise之类的一大把
- map和set之类的容器
- 迭代器——这个能够挖很深,比方深入一下Reflect目标(实际上历来没用过)
-
【较多】cookie,session和token
cookie和session这个能够牵扯出浏览器存储相关的内容,假如擅长这方面的答复,能够试图引导面试官往这个方向靠。
token能够类比SSL/TLS相关的内容,反正都差不多,便是围绕机密性、完整性和身份认证三个方面进行作答。
cookie和session
能够前端主动设置,也能够由后端的呼应报文set-cookie来通知前端设置——sessionID便是后端发生,通过set-cookie来保存的。cookie有7个字段,比方expires过期时间、httpOnly约束JS不能获取等。cookie默认情况下会被恳求自动放到cookie字段被带上。
(可是实际上httpOnly一点都不安全,有许多奇技淫巧能够操作cookie,具体内容参阅《前端黑客技能揭秘》和——尽管时代比较久远了,可是写得仍是挺好)
可是cookie的问题是跨域困难,且在分布式使用中,sessionID在多个服务器之间难以共享。
JWT
JSON Web Token,Token有三个部分:header,body和signature,header和body结合私钥签个名就有signature了,最终三个拼一块就成了token。
由前端生成,header里写了用的什么签名算法。
这儿只需求保证数据的来历,即证明恳求者的身份,所以只需求私钥加密签名。
假如还需求保证内容不被篡改,那么还需求有内容摘要。
之后的打算
持续学一学JS相关的技能,感觉这真是一个很美妙的言语,能够做许多有意思的事情。
别的也多看一看各种非技能类书籍,感觉仍是要丰厚一下业余生活,多看看屏幕外的国际。