The job you’re applying for says, “Redis experience required.” Are you ready for the questions a hiring manager is likely to ask? Here’s how to prepare for the job interview.
Oh, job interviews. They’re the necessary evil that stands between you and a steady paycheck – kind of how Gandalf stood between the Balrog and the Fellowship of the Ring. You need to come across as resourceful as a hobbit. Determined as a dwarf. Quick as an elf. And you absolutely can’t answer the question, “Where do you see yourself in ten years?” with “Chillaxing with the elves in the Undying Lands.”
You should prepare for the job interview to come across as the person best suited to join the fellowship of [insert company name]. We came up with seven questions–and their answers–to help you convince a company’s Gandalf to let you speak Redis…and enter.
For most technology jobs, it’s not important to show years of experience with a specific tool or product feature, such as data caching. What does matter is that you can show versatility.
Most technology hiring managers know that tools and languages change; they want to see that you learned something from every experience. If you have worked with multiple databases, that shows a breadth of experience, and it’s something interviewers look for.
So even if you don’t know Redis when you apply for a job that asks for that expertise, you may qualify if you demonstrate how often you adapted to new databases or development environments.
Potential answer: One senior software engineer has an example of how she’d respond to an interviewer’s question about database experience: “I started off using MongoDB, but I pivoted to MySQL,” says Louise R. Howard. “MongoDB has weak data types, which is great for future-proofing your database, but it has a slow processing speed. I now prefer MySQL because it can shave milliseconds off my record processing…and in cases with millions of transactions, such as with Facebook, those milliseconds add up.”
A ringbearer’s answer: “What have I got in my pocketses? String!…or object.”
If you’re fluent in Redis or conversational, you would directly leverage the API to Redis and execute commands. Never worked with Redis, or even caching, before? That’s okay. Even Frodo’s journey to Mordor started with a single step beyond the Shire. It’s how you get to where you’re going that’s important.
Potential answer: “There is no right or wrong answer to this question,” says Brad Barnes, Redis solution architecture manager.
Many interviewees don’t know Redis, Barnes says. “They may or may not have executed specific commands or figured out the commands they need to run. But they do know a language or frameworks like Spring, Node.js, Python, or .Net.”
This is useful, Barnes says. “When you adopt the framework, sometimes there’s the shortcuts, like a configuration-only approach, that allows you to use common patterns and get to an end result without knowing the system you’re using at too much depth.”
So, what do you say when the interviewer looks at you expectantly? Point out the related background and expertise that you do have – such as Spring or another NoSQL database. Explain that you’d start with that knowledge and build your Redis expertise from there. Perhaps with the help of Coursera or Redis University.
A ringbearer’s answer: “Although I don’t know Redis, Node.js took me there and back again.”
Rajesh Namase, co-founder of tech blog TechRT, asks job candidates this question above. “It is a way for me to identify what specific tasks the applicant mostly works on using Redis,” he explains. Your answer lets an interviewer know if you have what it takes to solve a cache avalanche or climb the Misty Mountains.
Potential answer: Although info commands and string commands are mighty useful, Howard would tell an interviewer she frequently reaches for “Time to Live,” which allows a Redis client to check how many seconds a given key will continue to be part of the dataset.
Howard gives her Redis objects different times to live, depending on the use case. For example, she sets some objects live for 48 hours, so the information will be there if a user quickly returns to the page but expires otherwise. In other cases, she doesn’t set a time to live at all: “If I want to save configuration information that the server is going to use, I save it in the Redis cache, and I only update if I want to update the configuration.”
Thanks to Time to Live, Howard says, “You don’t need to clean up your disk space. Redis automatically purges these objects for you.”
The point is not to explain the virtues of any specific command, such as Time to Live. It’s to demonstrate to the interviewer that you know Redis features and when to use them. Plus, the commands you choose suggest the type of work you’re most comfortable doing.
A ringbearer’s answer: “I am the King of Gondor, and I command you, the Army of the Dead, to fight for me. The Time to Live is now.”
The interviewer might ask this Redis interview question to find out whether your knowledge is narrow and deep or shallow and wide. Perhaps you have a lot of experience with Redis in one knowledge domain or a vertical industry but are utterly ignorant in another. A hiring manager wants to know the scope of your knowledge.
Potential answer: Software developer Morshed Alam says, “Redis can be used in place of a database to improve performance for caching or storing transient data. Additionally, it can be used for session management or to keep track of active users.” Session management, which tracks a user’s activities on a website site, is important for user engagement; just ask anyone who has had a site make a genuinely good recommendation.
“Redis can also be used for real-time analytics or to power a chat application,” Alam says. Real-time analytics may be mission-critical for financial data, but it’s important for any kind of transaction. After all, you don’t want Amazon Prime to forget you recently watched The Rings of Power.
A ringbearer’s answer: “I track session states with Redis. They don’t call me a Ranger for nothing.”
Redis is a real-time database famously known for its caching capabilities, and like the rings of Lord of the Rings, there’s more than one available. (If we were going to talk about systems where there can be only one, we’d have mentioned The Highlander.)
The interviewer may ask you, for example, about the caching system Memcached. It’s reassuring for them to learn that you know exactly how Redis stacks up against competitors and why you would choose it over the others (other than “because you use it at this company, and I want this job”). You can show that you earned that “Knows Redis” bullet point on your resume.
Potential answer: Treat this question like the “compare and contrast” essays you used to answer on your college exams.
For example, you might respond: One distinction is the rate of updates. For example, Memcached has remained relatively unchanged over the past few years. In comparison, Redis has gained new features, such as Streams.
Howard has another answer for specific companies that use Redis: “I would choose Redis over Memcached because Redis has more documentation.”
A ringbearer’s answer: “Redis is one cache to rule them all.”
Programmers know their work like Merry and Pippin know it’s time for second breakfast. But even you don’t know absolutely everything about Redis. So how do you work your way around a question that leaves you mystified? It’s important that you know where to find good information.
How you answer this question shows the interviewer your resourcefulness, as well as your ability to solve problems.
Potential answer: In addition to Redis.com, Redis.io, Dev Hub, Launchpad, and Dev.to, says Barnes, it’s a good idea to cite StackOverflow or HackerNews. He also cautions, “You might need to go to four different articles because they don’t have the exact problem you do. You might need to interpolate between them.”
Consider getting yourself into the public record. That gives you gravitas and credibility during a job interview – and it also demonstrates a willingness to help other people. Barnes says, “It helps to have answered questions on StackOverflow, and it certainly helps to have a GitHub repository that elaborates on an example.” Anyone can search StackOverflow, but only the chosen few have their answers voted to the top.
A ringbearer’s answer: “Keep it secret. Keep it safe. Hey, wait…don’t keep it secret.”
Redis is a fast, stable caching system, but no technology is a perfect match for all situations, kind of like how a ring that gave Frodo the power of invisibility ultimately exposed him to Sauron.
Hiring managers want tech experts who have their eyes open. When you know a product well, you know its imperfections – and how to circumvent them. Better yet, experienced developers can identify potential technology conflicts and mismatches, point out “worst practices” among practitioners, and suggest workable options.
Experts aren’t the only people who know what to do. They’re the people who know what not to do.
Potential answer: You have to pay attention to whether the cache is up to date, says Alam – and then he’d openly explain his reasoning during the job interview.
An engineer needs to be aware of how data is being used by the user. Take storing medical records. A patient’s blood sugar level changes daily, even hourly, Alam says. “The system is using a cache to get the data faster, but if we are not telling Redis to keep that caching up to date, then it can give the patient out-of-date data. If the software engineer [who is using Redis] is not aware of how the data is being used, then it could give the wrong information to consumers,” says Alam.
Another issue you could raise in your response: Managing Redis at scale can be a complex task. It might be a good idea to consider a hosting solution.
A ringbearer’s answer: “Pippin, everyone knows I’m the tall one. It’s in the database, which is the single source of truth.”
For interview questions that delve into more technical Redis questions, consider the following resources: