2023前端实习生面试记载

关于我

掘友们大家好,我是碳苯,一个编程学习时长两年半的前端仔。

触摸快一年了,碍于水平有限,一直没敢发文。

但用舍由时,行藏在我,今日我也摩拳擦掌大胆来一手布鼓雷门!

或许我的文章水平不足以被你保藏,可是假如能够的话,还请我一个鼓励的赞吧!

这对我来说我莫大的支撑!十分感谢!

冬季刚刚曩昔,可是环境也仍是十分寒冷。这种情况下,咱们更需求抱团取暖才干坚持下去,下面是本人23年前后找实习的一些面试总结,希望能帮到大家:

初创小厂

一面

  1. 做一下毛遂自荐(据说我说了两分钟)
  2. 对微前端的了解(诘问微前端款式阻隔)
  3. 对sandbox的了解(后知后觉能够说eval的)
  4. 浏览器事情循环
  5. NodeJS的事情循环
  6. 箭头函数和一般函数的差异(太久没复习只想起this…)
  7. JS事情代理
  8. Vue2和Vue3的差异(实际上个人更多是用React…)
  9. 组合式API和选项式API
  10. 组合式API的生命周期(只说了个Hook,不晓得欸)
  11. 数组常见的方法,其间哪些会改动原数组

不是挂了,是真的只有一面

咳咳,太久没面试有点严重,毛遂自荐太长了需求紧缩一点。

不过上来问微前端也给我整得有点懵,没答好,可是这之后几天我也没把微前端放在心上。
(埋下伏笔)

三线大厂

一面

没问我八股,毛遂自荐结束之后直接就扔一个规划图,让用React完成界面和功能…

什么?让我堂堂切图仔写界面,这简直便是什么金风玉露一相逢,胜却人世许多!

写了我一个半小时,终于给写完了,跟坐牢似的。

写完就算过了。

晚上又给我打电话口头聊了会,大约谈了下技能方向,个人成长等等。

hr面

  1. 毛遂自荐(紧缩到了40s左右)
  2. 上一次实习的事务、薪资等
  3. 为什么这次选北京(这能为啥啊,这哪里是我能选的啊)
  4. 假如发offer,大约啥时分能来(学校还有考试要处理,最晚月底前)
  5. 有什么想问的(技能栈、事务方向、可否转正、有无导师)

说实话其时现已心动了,据说曩昔是架构大佬带着猛干

我的天啊,我都不敢想,架构师这几个字在我眼里都是冒金光的!

可是最终仍是没去。

一线大厂

一面

  1. 毛遂自荐(40s)
  2. 第一段实习阅历介绍
  3. 对微前端的了解(不是吧,又问这个,不过这次至少比前次答得好些)
  4. 身份认证(cookie,session,token)
  5. cookie有什么问题(存储,安全)
  6. 介绍token,为什么token能够处理前面的问题(忘了jwt原理,可是我说我通过https类比猜测一手,过后一看公然差不多)
  7. 跨站脚本进犯(token在头部,而cookie能够被获取并传递)
  8. vue、react处理了什么问题,说说了解(处理了我的吃饭问题)
  9. nodejs模块和es6的差异
  10. 用nodejs做了哪些东西(花里胡哨的玩具项目)
  11. http/1.1 http/2 websocket
  12. websocket之外,还有什么处理计划
  13. 项目中比较难的技能点,亮点(经典八股)
  14. 浏览器事情循环机制(强行扯上了八竿子打不着的尾递归)
  15. promise处理什么问题,async/await的优劣
  16. 调查this指向,严厉形式class
  17. 手写题1:不传参,也不使用全局变量,完成一个函数,第n次调用则返回第n个质数
  18. 手写题2:扁平数组转树状
  19. 你有什么想问我的吗(怎样成为编程带师,从拿来主义变为自我创造)

我的天神啊,面了90分钟,直接把另一家的面试挤掉了

因为时间太长了,中心或许还问了一些问题我也忘了…

不过经过这次我才发现我还挺能聊的…

二面

  1. 毛遂自荐
  2. 对微前端的了解(是什么,处理什么问题,怎样完成)
  3. 沙盒怎样完成(说了iframe,with和eavl,其他不知道)
  4. 款式阻隔怎样完成(没答上来,后来才想起加个前缀不就完了,进一步还能够用传说中的影子dom)
  5. 现代微前端有哪些完成计划(只记得中心基座了…)
  6. React中useCallback和useMemo有什么差异,useCallback的使用场景(我说我忘了,面试官多次质疑我,说我肯定知道…)
  7. TS中type和interface有什么差异(啊,好经典的问题,可是我没复习只随意应付了两句)
  8. 动画完成,用transform和position: absolute两种哪个更好,为什么
  9. GPU加快的具体进程(不会)
  10. 浏览器接纳到html文件后烘托的进程
  11. 生成render tree之后具体是做了什么(不会)
  12. 是只有WebGL相关的烘托才会用到GPU吗(其时答的一切烘托都会用到GPU的栅格化线程,不知道对不对)
  13. 标题1:this指针指向
  14. 详细说说箭头函数的this(前次面试不是问过吗…)
  15. 标题2:函数的参数传递战略(JS的传参战略)
  16. 标题3:柯里化
  17. 标题4:完成一个恳求函数request,每次最多能并发max个恳求,且要求尽或许快地完成它们(废了,没写出来)
  18. 你有什么想问我的吗(技能栈)

惧怕极了,之后好几天都没音讯,我大约是的确是寄了

成果没寄,后往来不断查了下GPU相关的内容,原来是层合成之类的内容

过后我仍然心有余悸…

之后好好猛学了预备了一波

三面+HR面

HR和leader一起来了,leader在另一场面试,HR先问了一些内容,然后leader才来的

面了一个小时,许多问题记不清了

  1. 毛遂自荐(紧缩到30s了)
  2. 前次实习事务介绍
  3. 前次离职的原因(还得回去读书的嘛,不然怎样拿学位证捏)
  4. 有读研的打算吗(找不到作业那就只能读研了)
  5. 【leader上线】前次实习的事务针对什么用户,这些用户有什么特征(彻底不明白啊…)
  6. 关于用户相关指标的了解(额,那个,其实我事务了解不太深入…)
  7. 前端性能指标,以及性能优化(Perfomance目标上的都是)
  8. xss进犯是什么,怎样防备(经典问题,可是我没背)
  9. BFF开发和前端开发的思维有什么不相同(其时说的是安全危险的来历)
  10. 其时的BFF是前端担任运维的吗,假如上线后BFF报错,怎样排查bug(其实我也不知道是谁在运维…而且没遇到过线上问题…)
  11. 微前端的了解,和iframe有什么差异(啥?iframe不算微前端吗?)
  12. Monorepo的优点
  13. 之前实习的作息时间,能实习多久
  14. 标题:正则完成数字字符串,在千位,十万位等以此类推的方位加上逗号
  15. 前次实习的最大的收成和挑战是什么(便是自己太菜)
  16. 在校最喜欢的课程是什么(物联网信息安全)
  17. 前次实习的leader对你的点评是什么(没有点评,他平时太忙,我走得太仓促)
  18. 前次实习周围的搭档对你有没有什么建议(“你仍是去读研吧”)
  19. 前次实习遇到过block case没有,怎样处理的(抱大腿)
  20. 能实习多久
  21. 你有什么想问我的吗产品思维相关)

其时是阳了的第二天,感觉自己状态不太好,许多问题也没答复好。

可是万幸仍是过了。

独角兽

一面

  1. 毛遂自荐
  2. 第一段实习的事务亮点(便是事务居然能奇迹般地上线了)
  3. SVN和Git的差异,对Monorepo的了解
  4. NodeJS的事情轮询机制
  5. Vue和React更擅长哪个,为什么需求虚拟DOM
  6. 说说Vue的diff算法吧(我深思这我要怎样说,莫非背代码? 最终大约说了一下硬暴diff、双指针diff再到四指针diff)
  7. 标题: 乱序数组,A+B问题(开端没留意不保证有序,我反手一个二分查找,然后发现要排序,直接又是一个sort,再然后发现输出下标可是输出的是排序后的下标,最终再来个O(n^2)循环map映射一下,整体下来丑陋得一比。
    写完面试官问我,“一定要排序吗?”。我灵机一动改用map优化到O(n)了。
    不得不说尽管二分写得丑,可是也的确表现到位了。)
  8. for和forEach有什么差异
  9. 前次为什么离职,能实习多久
  10. 有什么想问我的吗(技能栈,之前提到的模块联邦是什么)

没怎样刷过力扣,后来才知道这是第一题…

莫非说,我在面试官心里就只有这种水平吗,他和我看对眼了所以给我放水了?

二面

  1. 毛遂自荐
  2. . 说一说思路:打印一个二叉树的左视图
  3. 之前的项目或实习有什么挑战性的阅历
  4. 上一段实习的收成是什么,这一次的实习的预期是什么
  5. 有什么想问我的吗(技能栈,部门事务,您重视的前端方向的新技能)

其时现已在等上一家大厂的面试成果了,想的是要是上一家挂了我就去杭州了。

有个认识的学长也在杭州,让他带着我猛学+健身也挺不错的。

惋惜最终仍是没去,所以健身就放置了

一线大厂

一面

  1. 毛遂自荐
  2. 前次实习是做什么,介绍一下其事务交互相关的东西(做牛做马)
  3. 假如让你完成一个图片上传,你要考虑哪些东西(直接参阅HTTP报文怎样传的)
  4. 大文件分片上传怎样完成,分片上传,断点续传,何时开端兼并,丢包又怎样办(说了将近10分钟)
  5. ES6更新了哪些东西
  6. 细说promise
  7. 浏览器事情循环机制
  8. 经典的var声明变量,for循环里装一个setTimeout作为值,问输出成果,又有哪些方法能让输出成果变得契合预期
  9. 输入url之后到页面烘托之间的进程(分析到缓存的时分感觉面试官听背书听免疫了,我就开端快进了)
  10. 页面首次烘托时,能够进行用户交互的机遇是什么(盲猜的DomLoaded)
  11. 假如dom现已挂载结束,script还在加载,此刻能够履行点击事情吗(我做了一波分析觉得能够,可是他后来说我了解有偏差)
  12. 标题:乱序数组,A+B问题,输出多对解(我傻了呀,怎样就又给我来这种题啊,简直是看不起我啊!我总不能又像前次相同强行写个二分吧。这种题直接给正派答案那我怎样表现自己啊,我反手一个node形式代码,终端标准输入流一把梭——面试官甚至一开端没看懂我写的是什么,的确狠狠装到了。)
  13. 还有什么想问我的吗(怎样指定复习计划比较合理,技能栈是什么)

最终说假如有音讯会通知我,我感觉多半是寄了

可是仍是收到了下一面的邀请…
让我十分震惊

二面

  1. 毛遂自荐
  2. 说一下对微前端的了解(又来是吧)
  3. 说一下electron的了解(仅仅用过,不了解原理)
  4. bind,call,apply有什么差异
  5. 现场写个小游戏:黑桃红桃A-8共计16张牌,4*4居中摆放布局,开局洗牌随机分布。开端都是反面在上(蓝色),点击后翻牌,翻开两张牌后假如相同则消去,但布局不能改动;不相同则又翻回反面;(有点慌,没写完…)

最终仍是过了,本来想着是大厂,去那里一定是会有十分多的收成。

其时我感觉仍是十分神往的,直到看了一下北京一个月的房租…

一般小厂

HR面

十分有特征,居然是先HR面过了才会有技能面

之前约面问我九点能够吗——其时我就知道这家公司多半是八点钟就上班了…

  1. 毛遂自荐
  2. 最早学习的框架
  3. 页面烘托时,vue2的生命周期触发哪些(除了created都忘了)
  4. 绩点排名,高考成果,高考全省排名(瞬间我就怂了)
  5. 目前投递了哪些公司,有没有拿offer(投了一堆,拿了哪些不告知你嘿嘿)
  6. 88*98是多少(大早上不太清醒愣是算了十秒左右,可是你这是问的什么啊)
  7. 8个外观相同的小球,其间有1个更重,最坏的情况下至少称几次能找到最重的这个(猜的二分, 3次)
  8. 预期薪资多少
  9. 你有什么想问我的吗(并没有)

这是唯一一家挂了的…

总结回顾

之后摆了几天大烂,天天通宵打游戏到早上七八点….

个人感受

全网共计发起400+应聘30+次检查简历6家面试

还有一家面试被上一家90分钟超长占线给挤掉了

后边在我入职的时分才又收到了几个简历通过的音讯,就拒绝了,尽管很惋惜,不过也没方法。

总的来说,失利是常态,成功仅仅许多失利中的偶尔。

重要的标题

面试官依据简历上的技能问问题

归纳我个人和其他同学的面试阅历,一些问题经常出现:

  1. 【高频】关于微前端的了解

    概念/效果

    破坏巨石,一个主使用+多个子使用,技能栈、打包构建等都是彻底独立的,担任不同使用的团队能够选取最合适自身情况的技能栈,这样不只能够进步开发效率,也能够降低团队人员学习的本钱,也便于各个使用的技能栈更新(比方QQ,假定以前用的JQ,现在要用React,以前就只能直接推翻重写。而用微前端的话,重写子使用就行,削减破坏的规模)。

    完成方法

    主体框架:iframe,后端路由分发,模块联邦,中心基座

    款式阻隔:css选择器加hash前缀,…(其他的忘了)

    JS阻隔:函数效果域,eval效果域,with关键字

  2. 【高频】事情循环机制

    浏览器

    调用栈、宏使命队列、微使命队列,比较经典,顺着说一遍就完了

    V8

    和浏览器大体类似,仅仅宏使命分了6个类型,每次宏使命阶段,要履行6个类型(不必记完6个,记住timer类型和poll类型就行了)

  3. 【较多】规划文件分片上传

    (input类型设置为file,多文件还要额外写multiple,结合JS的fileReader来获取上传的内容,要对其类型做校验,并且要对超越大小阈值的文件进行切片再从头封装)

    转为二进制,然后按长度切断,封装成目标,保护两个值 当时目标的序号切片总数,发送给后端后,要及时确认是否丢包,参阅TCP的操作,假如丢包了,那么在下一次成功恳求的呼应体里需求给出相应的信息。

    为了避免是最终一个包丢了,还要额外发起一次恳求询问是否接纳到了一切包,假如是,那么后端开端兼并文件;假如不是则依据呼应内容从头发送。

    (别的,HTTP报文里面有个range字段如同能够结合利用一下,可是我没有持续研讨这一块了)

  4. 【高频】ES6相关

    1. Promise之类的一大把
    2. map和set之类的容器
    3. 迭代器——这个能够挖很深,比方深入一下Reflect目标(实际上历来没用过)
  5. 【较多】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相关的技能,感觉这真是一个很美妙的言语,能够做许多有意思的事情。

别的也多看一看各种非技能类书籍,感觉仍是要丰厚一下业余生活,多看看屏幕外的国际。