大揭秘!亲历“恐怖”的阿里一面

2023-10-24 13:58

本文主要是介绍大揭秘!亲历“恐怖”的阿里一面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

市面上有很多关于面试的文章,但是基本都是从应聘者的角度去分析问题的,从招聘官的角度去分享的着实不多。本文将从我的个人招聘经历分享下关于前端一面的一些思考和自己的感悟。以下所有感悟皆为笔者个人感悟,不代表任何。有不妥之处,欢迎指出

其实不得不说,找工作,真的七分实力,三分运气。不同的面试官有不同的看重点,所以千万不要为一次的滑铁卢而丢失信心。

面试环节
关于面试题的答案讲解,本文将不做非常详细的分析。具体的每个知识点,笔者后面尽量两周更新一篇相关知识点文章于公众号 全栈前端精选 中,欢迎关注、讨论和分享。下图是笔者计划后续写的总结性技术文章。

自我介绍
基本面试这是必然的开场,笔者在公司也稍微面试过不少人吧,高峰期基本每晚都要面试一两个,听过了各种各样的开场介绍。这里简单说下笔者作为面试官比较喜欢和不喜欢的介绍吧。

我叫 xxx,毕业于(目前就职于) xxx,来自 xxx,技术栈 xxxx,喜欢 xxx。。。

类如上述的自我介绍,其实很多都在简历上写明了,甚至很多是我并不关心的。

我只关心你能力和我职位的匹配度。所以诸如此类的简介,笔者更是希望能够简短。笔者作为面试的时候,更喜欢听到的是我做过什么牛 x 的项目,这个项目有多难,如何攻克的,以及这个项目做完你收获到了什么,甚至这个项目做完,该项目对团队、部门甚至公司而言,带来哪方面的提高。或者可以介绍你在校获得了什么奖项,意味着什么、成长了什么。

如上的介绍,其实就能够让面试官眼前一亮,因为能看到你对这个项目的思考、以及这个项目对你的历练。

划重点:我们都知道下一个面试环节是知识点提问,所以这里的难,可以适当的抛出技术的难点在哪。引起面试官的兴趣,从而去提问 。面试的节奏我们要学会自己掌握,别老是被面试官牵着走

走到这一步,基本有如下两个分支:

面试官对你的这个项目(奖项)比较感兴趣,会接着问下去,然后问其中技术的实现细节。(所以这里自己千万不要吹牛x,然后补不回来)
面试官不是很感兴趣(很可能是面试官的技术盲区,比如我就这样。哈哈),然后问自己准备的一些面试题。。。
这里需要说明的,在笔者面试应聘 p7 的同学的时候,会更喜欢到你对这个项目的思考,诸如会问一下题目:

现有的技术方案、行业对比
你觉得你做过的项目或发起过的优化里面最有价值是的哪个?为什么?对业务的帮助是什么?
你做的东西可以复用于其他团队吗?
横向与市场已知的 xxx 解决方案,你们的优势在哪?
上述的这些思考,其实目前我也达不到。但是,这不一定要求面试官一定要达到这个水准,项目的思考维度也还没有这么的深入。没吃过猪肉还没见过猪跑嘛。

面试题
如上面所说的,如果面试中应聘者说到了笔者比较感兴趣的技术方向、或者技术点,那么笔者就会直接问下去。如果说到了笔者不是很擅长的技术区域,那么我笔者就不会追问技术细节了。

整体一面的时间大概也就半小时左右,加上前后的介绍,基本题目就四五题吧。笔者面试没有固定的题目,通常根据应聘者的经历而问。这里举例下在上面的介绍毫无亮点可言的时候(基本凉了一半),笔者喜欢问的一类题目吧。

基础题目考核
JavaScript 面向对象的理解和感悟
基本刚开始问题的题目都是比较简单和考核基础的,比如有的时候笔者第一题一般问:** JavaScript 面向对象的理解和感悟**、题目非常的开放。给了你足够大的舞台表现自己。

说下这题在笔者面试别人时候的心里打分点:

首先,我肯定是需要你告诉我,什么是面向对象,面向对象有哪些特点,以及这些特点的解释。
JavaScript 如何实现这些特点,比如封装、继承、多态。如果关于上述三点,你能够解释到有多少种实现方式、优缺点是什么。以及近几年流行的解决方案是什么。这就是加分 ,比如对于继承吧。类式继承、构造函数继承、组合继承、原型继承、寄生组合继承等等,说出大概的实现思路和优缺点,再介绍下 extends 或者 mixin 的实现甚至你可以衍生到JavaScript 的模块化发展甚至到为什么现在 TS 如此流行。那么可以说到这一环节解答的就非常棒了。
回答完 JavaScript 的面向对象,是不是可以从此衍生下为什么需要面向对象。以及当先对于软件设计的高内聚、低耦合的思考?来个对此题一个提纲挈领的总结?
综上所述,其实不难看出,越是这种基础且开放的题目,可以是一个陷阱,更可以是一个机会。因为一道题真的可以全方面的感受到应聘的基础是否扎实。

后面的题目的笔者基本喜欢根据应聘者的上一题的回答中甚至应聘者随口说到的知识点,继续追问。但是限于此文为分享文章,这种形式很难演示。下面就继续介绍下后续的题目。

浏览器输入 url 到页面的展现,具体发生了些什么可以展开说下么
断于上述题目知识点。第二个问题笔者通常喜欢问一些考察可深可浅的一些题目,注入:浏览器输入 url 到页面的展现,具体发生了些什么可以展开说下么

基本回答都是

在浏览器地址栏输入URL
浏览器解析URL获取协议,主机,端口,path
浏览器组装一个HTTP(GET)请求报文
浏览器获取主机ip地址
打开一个socket与目标IP地址,端口建立TCP链
TCP链接建立后发送HTTP请求
服务器将响应报文通过TCP连接发送回浏览器,浏览器接收HTTP响应
根据资源类型决定如何处理(假设资源为HTML文档)
解析HTML文档,构件DOM树,下载资源,构造CSSOM树,执行js脚本
最后展现出来给用户
基本如果应聘者只回到了上述步骤,很多关键步骤(前端应该了解的知识点)没有提及,那么基本凉凉一半了。这里简述下笔者感觉,这其中你应该具体展开说明的。

浏览器发送请求,是否需要查看缓存?是否请求资源在缓存中并且新鲜,跳转到转码步骤?如果资源已经缓存,是否新鲜?如何检查?怎么判断、http1.0 和 http1.1 的区别是什么,这些字段的优先级是怎么样子的。
浏览器解析 url 获取协议,过程是什么?DNS 递归查询可否介绍下?
建立 TCP 链接的三次握手是否可以介绍下
服务器接受到请求,是否需要检查缓存?检查什么字段?什么样的缓存会需要服务端检查?
服务端发送 TCP 链接,浏览器接受 http 相应后,根据什么来决定是否需要关闭连接?关闭 TCP 的四次挥手是什么?
浏览器是否需要检查状态码,有哪些状态码?(笔者高频考码:304、200)
在解析的时候,具体如何解析、是否有顺序。(重绘重排高频考题就在这里)
总结如上、我们是否可以给出一些基本的网站优化手段???
上述题目的每一步展开,都将会是下一个面试题。

具体的知识点介绍,不是此文主要讲解内容,这里就不多言了。

解决问题能力考查
其实上面两(大)题后,基本基础、网络、浏览器、js 执行、优化都已经考核到。对于 p6 的一个 job model 还有一项是对于问题的解决能力。

其实这里一般都是出一道问题,然后你给出一些你的实现思路,这里就不做距离了,因为太开放!

比如:

诸如我现在需要监听那种频繁发生的事件,你有那些优化么
埋点的实现思路
非递归的二叉树遍历
文件上传断点、续传
设计模式的应用场景考核
等等

切记:这类题目,一定不要说不会、不知道。哪怕真的不知道,也要给出大概的解答思路和实现思路。哪怕不对!一定要讲出自己的思考过程。

进阶题目考核
在面试 p6、p7 的时候,一般后面还会跟一道进阶题目(根据应聘者具体情况而定)。

没有开放性的答案其实,所以这里笔者就不细述有哪些思考和想听到的点了。只要你说的对就行其实

VUE 双向绑定原理
VUE/React diff 算法的大概思路
现有的状态管理的实现
webpack中 loader、plugin 的实现思路
简易版 webpack 的实现
KOA、Express 中间件的实现
React fiber 的理解和原理
前端构建工具的、vue-cli、create-react-app 的原理和实现思路
等等。。。。。
结束环节
半小时,基本只能问四五题这样,说实话,题目的考核大概能占参考度的 90%,还有 10%可能就是言语和感觉了。那么对于结束的时候,说下不好的感觉:

最后,你有什么要问我的嘛

我想咨询下,我能不能通过这次面试,我对工资无所谓,我愿意学习,特别希望能够进入 xxx 跟大牛一起学习,历练。

讲真,这类的话听过很多次了。如果在看的你也命中了这个。我想说,其实公司招我们进来,是搬砖的,不是给我们学习的。学习是你自己的需要,不是为了公司学的。说这类的话,太给自己降价了!

说说笔者应聘的时候,一般结束的你有什么要问我的嘛的回答

我比较在意自己的技术方向和职业发展,能够简单介绍下如果我面试上贵公司职位,我以后的工作内容和在团队的价值么?
想了解下公司对于前端的重视程度以及在大前端时代,团队对于技术的思考
大概就是笔者会问,我这个职位是干嘛的?在公司有么有价值?跟我自己的职业、技术规划是否吻合?

这样!面试官会觉得,恩这小子有思考再者,如果面试官给你介绍的非常非常详细,那么其实从侧面就说明,他对你很满意了!已经到了面试官开始极力展现自己的时候了

就比如:医生,我老婆怀的是男孩还是女孩啊? 不能问!!!这是政策

但是:医生,我这孩子出生我给他起名字叫王刚蛋你看合适不? 恩。。。不太合适 基本可能怀的是女孩了

最后
其实我想说,面试,不仅仅看运气和实力,其实有的时候也是一场心理的博弈。

你的每一次回答都可能引出下一道面试题。有意识无意识的留点回答漏斗也是一种带节奏的方式。

如果面试官提出一个问题,你都抓不住他的考点,那基本要凉~~

其次,我想说,上面我说的开放性基础题的回答,大家千万不要误解为回答的多就是好。千万不要一个题目回答了半个小时,没必要!点到为止,证明自己考虑到、有这个知识储备即可,不要回答的让面试官都烦了。

然后,对于如何拿到面试的敲门砖:简历。没有那么多可说,也不是没得说。

简而言之:面试官筛选简历是非常枯燥的一件事情。基本是一眼带过,不会在简历上撇超过 40s。

所以:

简历要整洁,简洁、简洁。真的别密密麻麻都是字,没那么多耐心看的。
重点突出,可以加粗或者颜色标识。比如:自己开源类 React 框架
简历是一份介绍更是一个成绩单,既然是成绩单,成绩一定要吐出:开源项目 15k star 、 推动公司技术建设 等等
不得不说,名校和大厂的背景。很吸睛。
最后,秋招开始了,祝福所有找工作的同学,都能顺顺利利拿到 offer!加油~

这篇关于大揭秘!亲历“恐怖”的阿里一面的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/275634

相关文章

揭秘未来艺术:AI绘画工具全面介绍

📑前言 随着科技的飞速发展,人工智能(AI)已经逐渐渗透到我们生活的方方面面。在艺术创作领域,AI技术同样展现出了其独特的魅力。今天,我们就来一起探索这个神秘而引人入胜的领域,深入了解AI绘画工具的奥秘及其为艺术创作带来的革命性变革。 一、AI绘画工具的崛起 1.1 颠覆传统绘画模式 在过去,绘画是艺术家们通过手中的画笔,蘸取颜料,在画布上自由挥洒的创造性过程。然而,随着AI绘画工

亮相WOT全球技术创新大会,揭秘火山引擎边缘容器技术在泛CDN场景的应用与实践

2024年6月21日-22日,51CTO“WOT全球技术创新大会2024”在北京举办。火山引擎边缘计算架构师李志明受邀参与,以“边缘容器技术在泛CDN场景的应用和实践”为主题,与多位行业资深专家,共同探讨泛CDN行业技术架构以及云原生与边缘计算的发展和展望。 火山引擎边缘计算架构师李志明表示:为更好地解决传统泛CDN类业务运行中的问题,火山引擎边缘容器团队参考行业做法,结合实践经验,打造火山

【新闻】AI程序员要来了吗?阿里云官宣

内容提要 6 月 21 日,在阿里云上海 AI 峰会上,阿里云宣布推出首个AI 程序员。 据介绍,这个AI程序员具备架构师、开发工程师、测试工程师等多种岗位的技能,能一站式自主完成任务分解、代码编写、测试、问题修复、代码提交整个过程,最快分钟级即可完成应用开发,大幅提升研发效率。 近段时间以来,有关AI的实践应用突破不断,全球开发者加速研发步伐。有业内人士坦言,随着大模型性能逐渐提升,AI应

警惕!推广文章与视频的兼职骗局大揭秘

在互联网时代,我们常常会看到各种各样的推广兼职信息,承诺可以轻松赚钱,特别是在推广文章和视频方面。然而,在这些看似诱人的机会背后,往往隐藏着一些骗局。本文将为大家揭示这些骗局,帮助大家避免上当受骗。 一、骗局特征 1. **高额回报承诺**:骗子常常以高额的回报作为诱饵,声称只要转发文章、分享视频,就能获得丰厚的佣金或收益。然而,这种不切实际的高额回报往往是骗局的开始。 2. **简单操作

华为欧拉 openEuler24.03 更新 阿里 yum源

华为欧拉 openEuler24.03 更新 阿里 yum源 备份 yum 源编写 阿里云 yum源 配置文件更新 yum 缓存 备份 yum 源 mv /etc/yum.repos.d/openEuler.repo /etc/yum.repos.d/openEuler.repo.bak 编写 阿里云 yum源 配置文件 vim /etc/yum.repos.d/openEuler.r

ESP32使用MQTT_TCP连接阿里云

ESP32-IDF中MQTT函数的介绍 esp_mqtt_client_handle_t esp_mqtt_client_init(const esp_mqtt_client_config_t *config) 函数功能:mqtt 客户端初始化 函数形参: mqtt 客户端的配置 函数返回值:正确则返回根据配置创建的 mqtt 客户端句柄;异常则返回 NULL。 其中函数形参 esp_mqtt

AIGC-Animate Anyone阿里的图像到视频 角色合成的框架-论文解读

Animate Anyone: Consistent and Controllable Image-to-Video Synthesis for Character Animation 论文:https://arxiv.org/pdf/2311.17117 网页:https://humanaigc.github.io/animate-anyone/ MOTIVATION 角色动画的

利用阿里云服务器建立简单的个人博客

感谢阿里云9.9服务器学生计划,让我有机会实现自己小时候的梦想。为了能够写出这篇教程,我就默默把服务器(Ubuntu14.04 64位)重置了,从头开始。你可以查看下网页效果。 克隆git远程库 由于服务器刚刚重置,属于全新的,所以没有装git。 ~# sudo apt-get update #获取最新软件包~# sudo apt-get upgrade # 执行更新操作。~# sudo

揭秘SpringBoot自动装配原理

目录 一、自动装配 二、SpringBoot核心注解                 2.1 @SpringBootApplication         2.2 @Conditional*条件注解 三、spring.factories 文件 四、自动装配流程 一、自动装配         SpringBoot 自动装配是 SpringBoot 框架中一项核心特性,它极大地

阿里云推出首个 AI 程序员!

AI圈最近又发生了啥新鲜事? 该栏目以周更频率总结国内外前沿AI动态,是快速了解AI发展趋势一个不错的方式,感兴趣的可以点击订阅合集以及时收到最新推送 DeepSeek Coder V2开源发布,首超GPT4-Turbo的代码能力 全球首个在代码、数学能力上与GPT-4-Turbo争锋的模型,DeepSeek-Coder-V2,正式上线和开源。DeepSeek-Coder-V2 沿用 Dee