给软件工程师、数据科学家和数据工程师的面试指南:该做与不该做

简介: 7月9日 19:00-21:30 阿里云开发者社区首场“Offer 5000”直播开启!15位团队技术大牛在线招人,《阿里云技术面试红宝书》助你拿下Offer!马上投递简历:https://developer.aliyun.com/special/offerday01,在此,小编奉上数据库面试指南

图片无法显
点击图片或戳我查看详情和投简历

亚马逊这样的公司有 14 项领导原则 。他们不想仅仅雇佣一个数据科学家或软件工程师。对于许多只进行一次或两次面试的面试者来说,这可能没有那么明显,因为你太专注于回答面试的技术部分。但是,在你进行技术面试时,我们希望提供一些提示,帮助你更好地为未来做好准备。

技术面试应该准备哪些?

准备好数字指标

1.jpeg

我回忆起我在 FAANG ( Facebook、Apple、Amazon、Netflix 和 Google ) 的第一次面试。

在技术面试之后,有一轮技术项目经理的面试。他们开始问我过去的经历和项目。起初,情况还不错。然后他们开始问我在该项目中担任的角色对项目起哪些作用。

在我回答之后,他问了我一个在那之前从未想过的问题。

“你为这个项目节省了多少时间?”

我以前从未想过这个问题。在我的职业生涯中,我几乎一直在做别人告诉我的事情。然而对项目的作用和节省时间这样的大局概念,我从来没有想过。终究,我只是一个年轻的开发人员,我只考虑过编程和如何满足项目的需求。

其余的对话遵循类似的模式,他们在寻找我的自主权和独立思考能力,但老实说,在我目前的工作中,我并没有花太多时间去做类似的事。

我的建议是准备好数字指标,像亚马逊这样的公司是非常标准的。他们需要的是开发人员和工程师,而不仅仅是编程。这意味着你需要做好准备。当你要去面试时,准备好你所做的不仅仅是一两件小事。确保准备清楚你在项目中起了哪些重要的作用。

想想你过去的项目,即使你的公司没有直接计算你为项目节省了多少时间,但是你仍然应该花点时间自己估计一下。

准备好一些指标表明你从项目的全局考虑,并拥有独立思考的能力,这会让你脱颖而出。

一定要把你的问题说清楚。

2.jpeg

大多数人的前几次笔试都很差。你可能会很迷茫,因为你想在你面试开始之前得到完美的答案。或者你仅仅是写答案,而没有与面试官沟通你的想法是什么。

所以提前几分钟把你的回答放到面试官面前,概述你使用什么方法、数据结构和算法来获得解决方案,这不仅有助于你解决问题,而且还能让面试官了解你的思维过程。

即使你没有用最好的答案回答问题,但这依然有利于你。沟通是非常重要的,在过程交谈中也可以证明你有能力提供解决方案。

此外,如果面试官很优秀,他们会经常指导你找到答案。并不是说他们会给你详细解释,但他们可能会问一些问题,以确保你可以考虑到一些边缘情况,并避免主要的陷阱。

老实说,我觉得最好的面试之一就是那种感觉根本不像面试的面试,反而就像两个工程师在一起解决一个问题。当然,有一些面试官站在另一边,根本帮不上你。

准备好想要提问的问题

这可能是个老生常谈的建议,但对于一个没有任何工作上的问题的面试者来说,这有点让人不快。然而,对于你的第一份工作,你可能只是想要这份工作,但并不在乎这份工作。因此,提出真正的问题是困难的。

但这并不意味着你不应该准备一些问题来表现出对这个工作的兴趣。

我不建议你问太广泛的问题,因为这些问题你可以通过谷歌搜索。相反,集中精力向面试官提问他们的工作。例如:

  • 你最近面临的最大技术挑战是什么?
  • 你觉得你在这里有很好的成长机会吗?
  • 你如何描述这里的工程文化?

这些问题表明你对工作水平很感兴趣。它们还可以帮助你与面试官建立更多的联系。

我会问这些问题,是因为我知道这不仅仅是工资问题,我需要了解公司面临的具有挑战性又有作用的问题。

当然,研究最酷的技术是很有趣的。但新技术总是很酷的。比起所使用的技术栈,我更关心项目的作用。

和朋友面对面练习

读这篇文章的人有的可能还在上大学。对于在校学生,有的学校可能会提供实习面试服务。然而对于那些不在学校的人,应该找个朋友一起练习。

如果你有计算机科学领域的朋友,或者已经在技术公司工作的朋友,你可以向他们寻求帮助。如果你能在笔试中解决问题,而不是在电脑上,你就会显得脱颖而出。

面试者通常认为他们擅长编程,所以他们同样也擅长面试。然而,编程与面试可不大相同。

所以一定要练习!

3.jpeg

技术面试不应该做什么?

别让一轮面试影响其它轮面试

面试通常有好几轮,每一轮的面试可能不尽相同,你有可能在面试中顺利进行,也有可能在一轮又一轮的面试中变得更糟糕。

你可能会在一个问题上陷入一个困境,因为技术领域很广,所以很难了解一切。在面试中遇到你没有准备好的问题,这很正常。

关键是不要让一轮糟糕的面试影响你剩下的面试。即使你内心深处知道你在那一轮面试中失败了,你仍然要保持积极的态度。原因有以下两点:

  • 如果你在其他面试中做得足够好,公司会倾向于在几个月内再次面试你,甚至可能是换一个职位,尽管当下你并不知道这会对你产生什么帮助。
  • 把这次面试当做一次练习。技术面试只是面试过程的一部分。所以你练习得越多,就越能为下一次面试做好准备。

即使你在这一轮面试中失败了,你也要保持积极的态度。

不要以为你知道会被问什么类型的问题

你永远不知道面试时会被问什么类型的问题,所以不妨问问你的招聘人员。大部分 FAANG ( Facebook、Apple、Amazon、Netflix 和 Google ) 公司会提供一些学习材料。这些公司非常注重数据结构和算法。其他人把它与面向对象和系统设计问题混合在一起。你最希望做的事情就是成为一个处理决策树的数据科学家,并且涉及到反转链表或遍历树的问题。

这既尴尬又令人沮丧。事实上,每个人的时间都被浪费了,如果公司没有为你准备好这些问题……那么我将大部分责任推到他们身上。

当你去面试时,你需要展示更多的优势。

不要太拘泥于某一个解决方案

有些人有一个坏习惯,就是过度致力于解决问题。当你在讨论一个问题时,面试官可能会试图提供一些提示,以确保你继续朝着正确的方向前进。
然而,当我们处在一个思考问题的区域时,我们常常只走这一条路。即使它显然是错误的。

如果你在 15 分钟内对同一问题没有更好地进展,考虑深呼吸,并努力确保你的解决方向是正确的。但是如果你在更长的一段时间内没有找到正确的解决方案,并且你还有其它三到四个问题需要回答,那么你应该考虑换一种思路。

不要谈论技术栈的劣势

你喜欢 Hadoop 、 Go 语言,或者其他技术,而且你可能讨厌其他技术栈。

这并不意味着你需要让你对一种特定语言的所有仇恨都被知道。它常常被认为是精英主义者。就像你比其他人更了解,因为你的语言显然是最好的,其他人都在石器时代编程。

团队和公司使用各种语言,倘若你正在谈论某一技术栈的劣势,但是恰巧这正是他们所用的技术栈,这非常不友好。记住,如果你有你喜欢的语言,那么你可以自由地提出这个问题。但总的来说,持一些否定意见可能会很糟糕。

别让一次面试影响其它面试

这听起来有点像”别让一轮面试影响其它轮面试“。我们中的许多人将经历多次面试,但多次面试都失败了。

当我们收到一封电子邮件或一个电话对我们说:

“对不起,你不够优秀”

这感觉糟透了。

但是,你不能让一两次糟糕的面试打败你。有的人在同一年里多次接受同一家公司的面试,直到他们得到这份工作。让一次面试定义其余的面试这是非常不正确的。我们想对所有面试的人说的就是不要放弃。

有太多东西需要学习,我们可能无法一时完成。但是没关系。只要保持乐观,总有一扇门会为你打开。

结论

技术面试很难,因为面试官寻找的是对项目和工作有着独立的思考的人,而不仅仅是在寻找程序员。但无论如何,请不要放弃!

本文由阿里云开发者社区组织翻译。
文章原标题《The Dos and Don’ts for Passing Your Technical Interview

作者:SeattleDataGuy
译者:黄小凡
文章为简译,更为详细的内容,请查看原文

目录
相关文章
|
24天前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
68 2
|
2月前
|
存储 缓存 关系型数据库
滴滴面试:单表可以存200亿数据吗?单表真的只能存2000W,为什么?
40岁老架构师尼恩在其读者交流群中分享了一系列关于InnoDB B+树索引的面试题及解答。这些问题包括B+树的高度、存储容量、千万级大表的优化、单表数据量限制等。尼恩详细解释了InnoDB的存储结构、B+树的磁盘文件格式、索引数据结构、磁盘I/O次数和耗时,以及Buffer Pool缓存机制对性能的影响。他还提供了实际操作步骤,帮助读者通过元数据找到B+树的高度。尼恩强调,通过系统化的学习和准备,可以大幅提升面试表现,实现“offer直提”。相关资料和PDF可在其公众号【技术自由圈】获取。
|
2月前
|
监控 Java easyexcel
面试官:POI大量数据读取内存溢出?如何解决?
【10月更文挑战第14天】 在处理大量数据时,使用Apache POI库读取Excel文件可能会导致内存溢出的问题。这是因为POI在读取Excel文件时,会将整个文档加载到内存中,如果文件过大,就会消耗大量内存。以下是一些解决这一问题的策略:
182 1
|
2月前
|
存储 关系型数据库 MySQL
面试官:MySQL一次到底插入多少条数据合适啊?
本文探讨了数据库插入操作的基础知识、批量插入的优势与挑战,以及如何确定合适的插入数据量。通过面试对话的形式,详细解析了单条插入与批量插入的区别,磁盘I/O、内存使用、事务大小和锁策略等关键因素。最后,结合MyBatis框架,提供了实际应用中的批量插入策略和优化建议。希望读者不仅能掌握技术细节,还能理解背后的原理,从而更好地优化数据库性能。
|
2月前
|
存储 大数据 数据库
Android经典面试题之Intent传递数据大小为什么限制是1M?
在 Android 中,使用 Intent 传递数据时存在约 1MB 的大小限制,这是由于 Binder 机制的事务缓冲区限制、Intent 的设计初衷以及内存消耗和性能问题所致。推荐使用文件存储、SharedPreferences、数据库存储或 ContentProvider 等方式传递大数据。
85 0
|
4月前
|
Java
【Java基础面试五】、 int类型的数据范围是多少?
这篇文章回答了Java中`int`类型数据的范围是-2^31到2^31-1,并提供了其他基本数据类型的内存占用和数值范围信息。
【Java基础面试五】、 int类型的数据范围是多少?
|
4月前
|
网络协议 网络架构
OSPF邻居关系建立失败?揭秘网络工程师面试中最常见的难题,这些关键步骤你掌握了吗?网络配置的陷阱就在这里!
【8月更文挑战第19天】OSPF是网络工程中确保数据高效传输的关键协议。但常遇难题:路由器间无法建立OSPF邻居关系,影响网络稳定并成为面试热点。解决此问题需检查网络连通性(如使用`ping`),确认OSPF区域配置一致(通过`show running-config`),校准Hello与Dead计时器(配置`hello`和`dead`命令),及核查IP地址和子网掩码正确无误(使用`ip address`)。系统排查上述因素可确保OSPF稳定运行。
81 2
|
5月前
|
canal 缓存 NoSQL
Redis常见面试题(一):Redis使用场景,缓存、分布式锁;缓存穿透、缓存击穿、缓存雪崩;双写一致,Canal,Redis持久化,数据过期策略,数据淘汰策略
Redis使用场景,缓存、分布式锁;缓存穿透、缓存击穿、缓存雪崩;先删除缓存还是先修改数据库,双写一致,Canal,Redis持久化,数据过期策略,数据淘汰策略
Redis常见面试题(一):Redis使用场景,缓存、分布式锁;缓存穿透、缓存击穿、缓存雪崩;双写一致,Canal,Redis持久化,数据过期策略,数据淘汰策略
|
4月前
|
存储 负载均衡 算法
[go 面试] 一致性哈希:数据分片与负载均衡的黄金法则
[go 面试] 一致性哈希:数据分片与负载均衡的黄金法则
|
4月前
|
运维 Kubernetes 关系型数据库
云计算运维工程师面试技巧
【8月更文挑战第6天】
422 1