置顶

2年前端暑期面试打怪升级(收获多份offer)

作者:admin | 分类:招聘求职 | 浏览:37 | 时间:2023-08-27 09:05:44

△是新同学吗? 记得点击网页后端学习圈关注我哦~

前端面试怎么说_前端面试技巧有哪些_前端面试技巧

背景:大同工业学院计算机专业毕业,有2年后端开发经验,曾在上海、深圳两家小工厂各工作一年。 去年7月底,我裸辞了,打算回去待2个月。 逛了大大小小的面馆十几二十家公司,终于拿到了不错的offer。

前言

7月底,因为我在广州租的房子刚刚到期,中间有一些工作相关和非工作相关的事情不顺利,所以我打算直接辞职回去。

同时,在我的职业规划中,我希望在职业生涯的初期能够到一家大工厂工作(无论是否是一线)。 大厂提供的资源,大厂的业务,远远不是小厂可以抗衡的。 ,加入大厂对我未来的职业规划会有很大的帮助。 同时,如果我去年选择加入一家小工厂,而我仍然保留着3年内加入一家大工厂的看法,那么今年我将不得不再次跳槽。 hr面试是一个非常大的扣分项。

同时,我再次提醒大家:不到最后一刻,不要选择赤裸裸的辞职。 因为一旦你选择裸辞,你就会失去收入来源,这在短时间内还好,但是一旦你经历了一个比较长的笔试过程(比如腾讯的笔试过程需要一个多月的时间),整个人的精神都会被耗尽。 压力特别大,如果裸辞原因不充分的话,也会成为HR面试中的扣分项。

到目前为止,我的全部流程大致如下:

小工厂:

大纲

每篇文章不会列出我上面面试过的所有公司的笔试题。 由于笔试过程中提出的大部分问题都与简历上的项目经历接近,所以很多问题不具有一般参考价值。 我会列出我的List一些笔试中经常遇到的问题,并给出我心目中比较好的答案,供大家参考。

其实我相信还是有很多人想看我完整的笔试题。 我已经整理好,存放在i-want-offer/FE--[1]的仓库里。 收集的一些后端笔试知识点,以及我经历过的笔试题,身边人经历过的笔试题,或者我在雄鹿队看到的有参考价值的笔试题,希望对你有帮助。

后端八股js基础知识

其中关于js句型的信息这里就不详细介绍了,大家可以去仓库查找对应的信息。

关于Event Loop,大厂和小厂的询问方式是不同的。

一般情况下,小常会直接让你口授风暴周期的机制。 这时候比较标准的答案就是说风暴周期分为浏览器的风暴周期和节点的风暴周期,而是分别告诉浏览器和节点中的风暴周期机制。 风暴周期机制。 额外加分的是,可以解答v8对于async/await的优化以及版本前后节点风暴周期机制的区别(虽然大部分笔试官自己可能不知道,笔试题都是网上查了一下,你说的有道理,能唬住他基本没问题)。 具体答案请参考风暴循环机制满分答案[2]。

大厂是另一种提问方式。 一般他不会让你直接口述风暴循环的原理,而是会给你出一道笔试题,其中包括宏观任务和微观任务的各种陷阱。 这些可能更简单。 如果你个子矮,那是很自然的。

另外,关于笔迹,目前还没有小厂问过我这个问题,但是大厂问过我几次。 他们要求我手写等等。 实现思路非常简单。 您可以参考A+[3]。

前端和后端通信

作为一名后端工程师,了解那些基础知识点就足够你应对高中水平的笔试题了,而如果你从程序员的角度出发,你还需要丰富自己这方面的知识。 这里不讨论,只是笔试题。

输入URL在页面上显示其实是一个老生常谈的问题,而且我觉得这个问题基本上涵盖了整个后端的所有基础知识点,并且可以回答得非常丰富。 建议你看一下我的总结:浏览器输入URL的整个过程[4],分为网络、分析算法、渲染过程三个步骤,更好的描述了整个过程经历了什么。

这道题可以带出缓存、DNS解析、TCP连接、HTTP请求、重排重画等很多子题,如果控制得好,甚至可以控制整个笔试流程,这是非常有利的给笔试官留下深刻印象。 印象比较好。

跨域也是另一个特别高频的问题。 一般会询问你跨域的原因和解决办法。 网上有很多答案,这里就不解释了。

HTTP版本之间的区别一般不会干巴巴的让你回答。 我遇到的所有情况,一般都是在我回答缓存的时候,笔试官会让我停下来讲解缓存。 然后回答HTTP各个版本的部分差异; 另外,我回答性能优化的时候,回答HTTP2的时候,都会回答一部分。

HTTPS问题也比较简单,问题一般都比较直接。 通常会直接让你解释原理,然后让你总结一下握手过程。 有时,你会被要求比较 HTTP 之间的异同。

至于其他问题,你可以去仓库寻找答案,也可以自己上网查。 这些都是非常基本的问题。

安全

首先这个问题应该在前后端沟通中列出来,而且这个问题出现的频率很高,几乎每次笔试都会被问到,所以我单独列出来。

具体答案可以参考我整理的这篇文章:后端安全[5]。

一般来说,在回答安全问题时,需要回答以下几点:

XSS和CSRF一定要回答,剩下的你就知道回答多少了,别废话了。 一旦你胡言乱语,很容易让人觉得你在没有自己理解的情况下在背书(虽然你在背书)。

工程

对此,我们通常会从一个项目开始,通常会提出以下问题:

虽然页面性能优化可以讨论的东西有很多,比如性能问题一般都是从网络、加载的角度来解决。 从网络的角度来说,我们可以谈谈上面提到的缓存、CDN、HTTP2、图片格式方面的优化。 在加载方面,我们还可以讲打包和拆包,树形,延迟加载和异步加载,以及多线程。 不仅是这两个角度,还可以从用户体验的角度进行优化,比如骨架屏、动画、虚拟滚动等。

不仅从这些常规角度来看,现在我们开发Web应用时,一般都会使用框架,而每个框架通常都会有一些配套的性能优化方法,比如React上的e、memo等来优化diff算法。 还需要回答。 回答完性能优化问题后,框架优化问题一般都会跟着你。

具体可以看这两篇文章:

至于,根据我目前的笔试经验,题目相对较少,所以我可以选择关心。

框架

框架基本上是当前现代Web应用程序开发的必备技能。 笔试的时候,笔试官一般会根据你简历上写的技术栈来提问。 对于大厂和小厂来说,提问的形式可能略有不同。 对于小厂来说,如果你的技术栈和他们一样,那么他们的问题和大厂基本是一样的; 如果不是,完全取决于笔试考官是否了解你当前的技术栈。 如果他们这样做,他们可能会问一些问题。 ,否则基本不问。 对于大厂来说,不问基本上是不可能的。

因为我的技术栈是React+,所以在我所有的笔试经历中基本上没有被问过Vue相关的问题(对不起使用Vue的朋友)。 到目前为止我被问到的主要问题是:

以上所有问题都有可能被问到。

2020年,ts基本上是后端从业者必须掌握的技能。 一旦简历上写了ts开发经历,笔试基本都会问一两个关于ts的问题。

ts的一些常识这里就不重复了,这里是我在笔试中遇到的一些问题。

另外,对于大厂和小厂来说,他们对ts的把握要求是不同的。 对于小工厂来说,他们希望参加笔试的人能够熟练使用ts进行业务开发,所以ts概念的熟练程度对他们来说非常重要。 最重要的。 对于大厂家来说,他们可能越来越希望来笔试的人能够使用ts来开发一些ts的周边工具,所以他们很少会直接问ts的一些概念,通常都是让你手写一个ts工具功能。

目前我面试过的小厂基本都会问ts中type和ts的区别,而且基本只问这个问题。 另外,我经常问如何实现ts中某个函数的重载,基本上都是从使用的角度出发,来测试一个书面测试人员对ts的熟练程度。

关于大厂,有两个问题让我印象比较深刻:

实现一个ts工具函数,提取类库类型T中数组类型函数的工具函数,其中T属于一个对象。

type GetOnlyFnKeysextends object> = {
 [Key in keyof T]: T[K] extends Function ? K : never
}

type GetOnlyFnPropsextends object> = {
 [K in GetOnlyFnKeys]: T[K]
}

实现一个ts工具函数,提取类库类型

type UnGenericPromiseextends Promise<any>> = T extends Promise ? U : never

项目经验

不同的项目经验有成千上万种,而我的项目经验对于大多数人来说并不是很有价值。

然而整个笔试过程,虽然可以把整个项目的描述抽出来,组合成一组公式来表达:

该项目的背景是什么;

当前项目的目标是什么;

您在开发过程中扮演什么角色;

您在开发过程中遇到过什么样的困难;

你如何解决这种问题?

项目完成后,取得了什么成果;

这套公式基本上可以完整的解释你参与的项目的整个过程,也有助于笔试发现你项目中的亮点,让笔试在你的陈述中发现他可以挖掘的地方更深入地问你问题。

同时,在你打算写在简历上的项目中,你最好亲自过一遍这个过程,这将有助于你发现你可能没有掌握的知识,并检查差距。

算法

我相信大多数人对大厂笔试的焦虑主要来自于对算法的焦虑,因为网上留下的各类笔试题中都包含大量中等难度以上的算法题。 对我来说也是如此,尤其是面对字节跳动的时候,整个笔试过程我都非常紧张前端面试技巧,认为字节的算法题会很难,我可能做不出来。 但做完之后前端面试技巧,虽然还可以,但是难度基本控制在中等以下,甚至我遇到的几家大厂在流程中也没有涉及到算法。 而且,我认为作为一名程序员,算法水平在一定程度上代表了你程序设计的优劣,所以提升自己的算法水平对于开发高级Web应用特别有帮助。

我在规划算法的时候,一开始就盲目刷题。 我觉得整个过程进展非常顺利。 很多题刷了一两遍,看第三遍还是不知道怎么办。 后来我放弃了这些无目的的刷题,开始在网上寻找一些后端算法的常见题。 我找到了这篇文章:后端算法渣的救赎之路[8],里面总结了后端笔试中的一些常见题,也给出了一些算法题的经典解答。 在整个学习过程中,我的算法得到了很大的提高。 同时我也整理了一些自己的算法经验[9]。 同时,对于基础不扎实的同学,我强烈推荐极客学院9.9算法基础训练营。 看完整个集训的4节课,我的基础得到了一定程度的巩固。

我在做算法的时候,有一个技巧:遇到问题的时候,先尝试用最暴力的方式解决,然后分析暴力的方式会导致什么样的问题,然后解决遇到的问题。 这个方法基本上可以解决我遇到的大部分算法问题。

各大厂笔试特点

由于去年的特殊原因,基本上所有企业也会采用远程笔试的方式进行笔试。

纵观我的笔试过程,虽然各大厂的笔试风格略有不同,但下面我会一一阐述。

CVTE

据我了解,CVTE会有多轮hr面试。 基本上每一轮技术笔试之后,都会有另一轮hr面试来评估你。 当时技术面已经过了,hr面还没有通过,而且hr面问的问题比较尖锐,但是技术面的难度还不错,基本都是按照模板来的对我来说,一组组合拳可以解决七个问题。 七八个。

CVTE的一侧不涉及算法题,所以对后续的笔试不是很清楚。

工业信用卡中心

一侧是后端面,另一侧是后锥面,所以只有一侧问了后端知识的问题,另一侧只是单纯的电话聊天,主要讲一些问题在发展过程中。 过程非常快速、轻松,而且整个过程只有一道算法题,而且也出现在我整理的算法题库上。

百度

百度技术面总共有4轮,基础面(同级别员工)+基础面(级别应该比你高一点)+面(整个研发部门的技术总监)+老板面(整个研发部门总负责人)

百度要求你当场完成一套面试题。 难度中等。 基本上所有的知识点都要过一遍。 还有一道算法题,是百度原题,题型一样。 不太大。 前两个方面都是后端开发,难度并不大。 涉及到的知识点不仅限于后端,还包括网络、开发模型等问题。

采访非常有趣。 当时他们强烈要求我去现场参加笔试。 那是一个非常年轻的男子。 由于他不是专职后端,所以他问的问题涉及到整个计算机的所有知识点:数据结构、算法(原题,很简单的递归)、操作系统、问你哪些语言​​除了js你还知道吗等等。整个过程非常轻松愉快,大家有说有笑。

老板这边的气氛比较严肃,这也可能是因为会议室的空调有点冷的缘故。 基本上整个笔试就是让我发泄一下自己的想法,说说我的项目经历,以及解决方案。 答案模板基本可以按照前面的,终于通过了。

富途期货

富途期货是我迄今为止笔试时间最长的公司。 每轮笔试基本上正好是一个半小时。

因为我只经历了富途的两个方面,所以对两个方面然后的整个流程不是很清楚,而且大多数互联网公司都有长期治理和细小的差异。

一方面,笔试考官在做后端,问题非常详细。 不仅需要口授一些后端基础知识,还会有一些面试题让你完成,最后还有一道算法题,但没叫我写算法题。 我说了实现的想法,让我过去。

二面笔试人员其实就是我笔试哪一组的开发负责人,所以整个过程没有涉及到任何后端知识相关的东西。 一开始也是对项目的打击,后来给了4道面试题,其中包括算法。 里面难度中等左右,做一下就可以了。

金山软件

我觉得金山的笔试题比较好。 整个过程没有涉及任何算法。 一方面是一些非常基础的后端问题。 如果你记住了,就很容易通过。 第二面,有两名笔试审查员,其中一名是整个研发部门的后端。 一开始你可能会问一些关于框架的知识,看看你对框架的理解。 然后从实际开发的角度出发,给出几个场景题让你去设计,特别是考验一个人的开发熟练程度,通过这些方法会更容易找到熟练的后端开发。 至于三面,就是全程吹水,或者按照上一个项目的吹水公式来吹水,整个就很轻松了。

腾讯

腾讯的笔试风格和金山很相似,他问的基础问题会比较复杂。 他们不会简单地让你讲一些无用的API,只是为了坐着。 。 之后双方都会问你关于项目的情况,而且问的问题基本都是一样的,所以你规划一下基本上就没有问题了。

但值得注意的是,当你询问一个项目时,一定不能被单个测试官所主导。 答题时一定要自信,不能被单一考官牵着鼻子走。 第三次面试的时候,因为是第一次面试,经验很少,很紧张。 锦考官揪着我的耳朵。 由于这次面试是针对C端部门的,所以笔试考官可能不太明白C端和B端的区别。 用c端思维去询问我的b端项目,导致我在整个笔试过程中表现不佳。 所以在笔试中,一旦发现笔试官问的问题不太对劲,一定要及时说出来。

字节跳动

字节跳动问的问题非常详细。 我参加的三轮笔试,都是问一些特殊的基础知识。 笔试过程不是很长,大约45分钟。

一边做了一些自我介绍后,给了我5道面试题,做完之后我就聊聊其他的事情。

第二次会议时,我简单介绍了自己做过的项目,然后主要讨论了你们做的项目中用到的技术。 他给了我一道场景题,然后让我根据场景中的内容去实现,最后给了我一道算法题,应该是原创的。

虽然在字节面试之前我非常紧张,但我个人对通过字节笔试是没有希望的。 不过面试完之后,我想你们很多人对Byte笔试都存在误解,难度并没有想象中的那么难。 高的。

但有一点要说的是,我觉得我的两个笔试考官在笔试中态度都很好。 有些问题我解答不了,他们会给我提示,鼓励我。 其实最后两门考试我都没有通过,二面笔试考官在教我怎么做算法题方面给了我一些帮助,也就是我算法总结的最后一段。

总结

虽然笔试都是一样的事情,但是问多了,自然就能总结出自己的方法论。 而且,对于广大程序员同胞来说,一定要记住,笔试就是笔试,工作就是工作。 笔试面试不好的人,论工作能力可能并不比你差。 说到底,你在开发行业,还是讲你的技术水平。 谁的水平高,谁的声音就大。 不要以为进了大厂就稳定一辈子,必须不断提高自己的技术水平。

杂项笔记

在准备笔试的过程中,我通过阅读大量等网上的文章,了解了很多自己不懂的知识。 在此谢谢您:

特别感谢以上各位作者的无私奉献。 最后祝愿大家都能找到一份满意的工作。

来源于:

发表评论

取消
微信二维码
支付宝二维码