视频

了解更多内容
您申请的工作需要 “Redis 经验”。您准备好招聘经理可能提出的问题了吗?以下是准备面试的方法。
哦,求职面试。这是夹在你和稳定的薪水之间的必要之恶——甘道夫与魔戒远征队和炎魔之间的关系也类似。你需要像霍比特人一样足智多谋。像矮人一样坚定不移。像精灵一样敏捷。你绝对不能用“和精灵们一起在不死之地闲逛”来回答“十年后你希望身在何处?”的问题。
你应该为求职面试做好准备,以证明自己最适合加入[插入公司名称]远征队。我们提出了七个问题及答案,希望可以帮助你来说服一家公司的甘道夫让你说“朋友”...然后进入。
对于大多数技术工作来说,显示出使用特定工具或产品特性的多年经验并不重要,比如数据缓存。真正重要的是你要展示出多才多艺。
大多数技术招聘经理知道工具和语言会不断发展变化;他们希望看到你从每段经历中都学到了东西。如果你使用过多个数据库,那就表明你有广泛的经验,而这正是面试官所寻找的。
所以,即使你不知道 Redis,在你申请需要这方面专业知识的工作时,如果你展示出自己经常适应新数据库或开发环境,你也可以获得资格。
潜在答案:一位高级软件工程师提供了一个她在面试官询问有关数据库经验的问题时的回答示例:“我开始使用 MongoDB,但我转向了MySQL”,路易丝·R·霍华德说道。“MongoDB 的数据类型较弱,这对将来保护你的数据库很有帮助,但它的处理速度很慢。我现在更喜欢 MySQL,因为它可以让我的记录处理缩短几毫秒的时间…而且,在像 Facebook 那样拥有数百万笔交易的情况下,这些毫秒数会累加起来。”
持有至尊魔戒者的回答:“我的口袋里有什么呢?字符串!... 或对象。”
如果你精通 Redis 或有一定口语水平,你将直接利用 API 来使用 Redis 并执行命令。以前从未使用过 Redis,甚至从未使用过缓存?没关系。即使是佛罗多前往魔多的旅程也是从夏尔外迈出的第一步。重要的是如何到达目的地。
潜在答案:“这个问题没有正确或错误的答案。”Redis 解决方案架构经理布拉德·巴恩斯说。
许多面试者都不了解 Redis,巴恩斯说。“他们可能执行过一些具体命令,也可能没有,或者还没有弄清楚需要执行的命令。但他们确实了解一些语言或框架,比如 Spring、Node.js、Python,或 .Net.”
这很有用,巴恩斯说。“当你采用该框架时,有时会出现一些捷径,比如只使用配置关系,它允许你使用一般模式,并且在不太深入了解你正在使用的系统的情况下获得最终结果。”
所以,当面试官满怀期待地盯着你时,你会说什么?指出现在与之相关的一些背景和专业知识——比如 Spring 或其他 NoSQL 数据库。解释说,你可以从这些知识入手,在此基础构建你的 Redis 专业知识。或许借助 Coursera 或 Redis University。
护戒使者的回答:“虽然我不了解 Redis,但 Node.js 带我走出了这片荒野,并让我又回到了原地。”
科技博客联合创始人拉杰什·纳马斯, TechRT,会向求职者提出以上问题。“对我来说,这是一种识别出应聘者主要使用 Redis 执行哪些具体任务的方法”,他解释说。你的回答能让面试官了解你是否具备解决缓存雪崩或翻越迷雾山脉所需的技能。
潜在答案:虽然信息命令和字符串命令非常有用,但霍华德会告诉面试官,她经常使用“生存时间”,它允许 Redis 客户端检查给定键继续成为数据集一部分的时间(以秒为单位)。
霍华德会根据 使用案例,为她的 Redis 对象设置不同的生存时间。例如,她会为一些对象设置 48 小时的生存时间,以便当用户在短时间内返回页面时,信息依然存在,否则会过期。在其他情况下,她根本不会设置生存时间:“如果我想保存服务器将要使用的配置信息,我会将它保存在 Redis 缓存中,只有在我想更新配置时才会进行更新。”
霍华德说,得益于生存时间,“你无需清理磁盘空间。Redis 会自动为你清除这些对象。”
重点不在于解释任何特定命令(比如生存时间)的好处。重点在于向面试官展示,你了解 Redis 功能,以及在何时使用这些功能。此外,你选择的命令反映出你最擅长的工作类型。
护戒使者的回答:“我是刚铎国王,我命令你们亡灵大军,为我而战。现在就是生存时间。”
面试官可能提出这个问题来了解你的专业知识是专业精深还是粗浅广泛。你可能在某一知识领域或某一行业垂直领域的 Redis 方面很有经验,但在另一领域却一无所知。招聘经理想知道你的知识范围。
潜在答案:软件开发者Morshed Alam 说:“Redis 可以用来替代数据库,以提高缓存或存储临时数据的性能。此外,它还可用于会话管理或跟踪活跃用户。”会话管理可以跟踪用户在网站上的活动,这对用户参与度非常重要;只要问问那些网站有过真正好的推荐的人就知道了。
Alam 说:“Redis 还可以用于实时分析或为聊天应用程序提供动力。”实时分析对于财务数据可能至关重要,但对任何类型的交易都很重要。毕竟,你不希望亚马逊 Prime 忘记你最近看了《力量之戒》。
护戒使者的回答:“我用跟踪会话状态与 Redis。他们可不是白叫我游侠的。”
Redis 是以其缓存能力而闻名的实时数据库,并且,就像《指环王》中的戒指一样,它不只一个。(如果我们要谈论只能有一个系统的系统,我们就会提到《高地人》。)
例如,面试官可能会问你关于缓存系统 Memcached 的问题。当你确切地知道 Redis 在与竞争对手的对比中如何脱颖而出,以及为什么你会选择它,而不是其他的(而不是“因为你在该公司使用它,而我想要这份工作”)时,他们会感到放心。你可以展示你在简历中掌握“了解 Redis”要点的内容。
潜在答案:将这个问题当做你在大学考试中用来回答的“比较和对比”论文来对待。
例如,你的答复可能是:一个区别是更新速率。比如,Memcached 在过去几年里基本保持不变。相比而言,Redis 已经获得了新功能,如流。
霍华德针对使用 Redis 的特定公司提出了另一个答案:“我会选择 Redis 而不是 Memcached,因为 Redis 拥有更多文档。”
护戒使者的回答:“Redis 是统治所有缓存的唯一一个。”
程序员对自己的工作了如指掌,就像梅里和皮平知道是第二顿早餐时间一样。但即使是这样,您也不可能对 Redis 了解得一清二楚。那么,您如何解决让您困惑的问题呢?重要的是,您要知道到哪里去寻找有用的信息。
您如何回答这个问题表明了您的足智多谋以及解决问题的能力。
潜在答案:除了 Redis.com、Redis.io、开发中心、启动板 和 Dev.to 之外,巴恩斯说,引用 StackOverflow 或 HackerNews 也是一个好主意。他还告诫说:“您可能需要阅读四篇不同的文章,因为它们没有确切解决您的问题。您可能需要在其中进行插值。”
考虑让自己进入公开记录。在求职面试中,这会让您显得庄重可信,同时还表明您愿意帮助他人。巴恩斯说:“在 StackOverflow 上回答问题有帮助,当然拥有阐述示例的 GitHub 代码库也有帮助。”任何人都可以搜索 StackOverflow,但只有少数被选中的用户的回答才能获得置顶。
持有戒指者的回答:“保密。 保管好。 嘿,等等……不要保密。”
Redis 是一个快速稳定的缓存系统,但没有一项技术可以完美匹配所有情况,就像一个让弗罗多获得了隐形能力的戒指最终将他暴露在索伦面前一样。
招聘经理需要聘用目光敏锐的技术专家。当您对产品很了解时,您会知道它的缺点,以及如何规避这些缺点。更棒的是,经验丰富的开发人员可以识别潜在的技术冲突和不匹配项,指出从业人员中的“最差实践”,并提出可行的选项。
专家并不是唯一知道该怎么做的人。他们是知道不应该怎么做的人。
潜在答案:Alam 说,您必须注意缓存是否是最新的,然后他在求职面试中会公开解释他的理由。
工程师需要了解用户如何使用数据。以存储病历为例。Alam 说,患者的血糖水平每天甚至每小时都在变化。“系统使用缓存更快地获取数据,但如果我们没有告诉 Redis 保持该缓存的时效性,那么它可能会给出过时的患者数据。Alam 说:“如果[使用 Redis 的]软件工程师没有意识到数据的使用方式,那么可能会向消费者提供错误的信息”。
您可以在回复中提出的又一个问题:大规模管理 Redis 可能会是一项复杂的任务。最好考虑托管解决方案。
护戒使者的回答:“皮平,人人都知道我是个高个子。这在数据库中,它是唯一真相来源。”
如果您正在求职一份使用 Redis 的工作,那么或许最好赶上阅读进度了。
对于深入探讨 Redis 技术性问题的面试问题,请考虑以下资源