我遇到过的最好的工程面试问题,第 1 部分 – Arthur O’Dwyer – 主要是关于 C++ 的内容

我已经有一段时间没有接受软件工程面试了。 但我仍然记得我最喜欢的面试问题。 那是在 2013 年左右的 MemSQL 会议上。(他们 甚至没有保留他们的名字,所以我认为他们不再依赖这个特定的面试问题。 我并不因为揭露它而感到难过。 这是一个很棒的故事,我给人们讲过很多次; 我以前从未写过博客。) 好的,所以这本身不是一个“问题”;而是一个“问题”。 这是一个编程挑战。 我忘记了他们为此付出了多少时间。 假设三个小时,算上解释问题的时间。 由于 MemSQL 是一家数据库公司,因此这是一个数据库挑战。 介绍内存缓存 你知道 memcached? 不? 嗯,它是内存中的键值存储。 (请在此处阅读其“关于”页面。)让我们下载它的代码并构建它,以便我可以向您展示它的作用。 您可能需要 brew install libevent 也许还需要一些其他东西才能成功构建 memcached。 弄清楚这一点并不会太困难; 但无论如何,与环境的争论并不是测试的一部分。 您可以假设受访者已经获得了访问 Linux 机器的权限,并且所有正确的依赖项都已就位。 为了获得真实的 2013 年体验,让我们绕过 GitHub 仓库 并解压当代源代码发行版: curl -O https://memcached.org/files/memcached-1.4.15.tar.gz tar zxvf memcached-1.4.15.tar.gz cd memcached-1.4.15 ./configure make 现在我们已经构建了 memcached 可执行的。 让我们开始运行: […]