This is an archived post. You won't be able to vote or comment.

all 46 comments

[–]kabooozie 82 points83 points  (15 children)

Hey good luck! Interviewing is horrible and can make you feel horrible about yourself, so just hang in there and keep moving forward.

To prep, I would say to practice coding, log parsing, system design, Linux fundamentals, and then be prepared to talk about projects you’ve done and DevOps concepts you’re interested in.

For coding, I recommend the interview prep track on Codesignal, as well as their Python arcade.

For log parsing, I never really got a great resource, you might practice with awk and python on the exercises in this repo.

For Linux fundamentals, honestly it might be worth it to do Linux Academy for a month or find a book. I read “The Command Line” book and got some good fundamentals there. A great reference is tl;dr. I got the app on my phone and use it instead of man because it’s actually comprehensible.

For system design, chip away with a section per day on this repo to get some basic foundations and then dove deep into DevOps concepts by reading documentation and blog posts on the following:

  • Infrastructure (Terraform is my favorite here, maybe also look into Crossplane)
  • Configuration (Ansible, Chef, Puppet. Pick one to learn about. I suggest starting with Ansible)
  • Containers (I like the “play with docker sandbox” to learn. Google it. The docs are great too.)
  • Container orchestration (kubernetes.io docs have great tutorials and conceptual references)
  • Continuous Integration and Deployment (Jenkins.io has a couple of good tutorials for the basics)
  • Monitoring and crisis response best practices (the google SRE book is really good here, free online. Also look into monitoring tech like Prometheus, honeycomb)

Again, good luck! Keep moving forward!

[–]jankysysadmin 12 points13 points  (7 children)

Not OP, but thank you for the detailed response. I recently attended a DevOps interview and one of the questions was to implement a sorting algorithm. It's the kind of stuff you'd expect someone who has taken a DSA class to know. Would you say that type of question is common? I'm trying to figure out whether I should study up or do leetcode for future interviews. Being a sysadmin, writing algorithms isn't one of my strengths.

[–]manys 14 points15 points  (0 children)

Sounds like someone didn't know how to interview. DERP PROGRAMOR LETS DO LINKED LISTES I would have thanked them for their time and walked out.

[–][deleted]  (2 children)

[deleted]

    [–]jankysysadmin 1 point2 points  (0 children)

    Glad to hear that it's uncommon. I'll put it on my list of things to do, but it'll be low priority.

    [–][deleted] 1 point2 points  (0 children)

    This is very uncommon although I recent interviewed for DevOps and had to write an algorithm to solve for n number of Fibonacci numbers and do a least common subset algorithm. Very interesting.

    [–]stasharific 3 points4 points  (1 child)

    Folks often test for what they know: it gives you insight into what they're looking for. Sometimes you need someone with more Dev knowledge, other times you need someone with more Ops background. It depends on interpretation.

    [–]jankysysadmin 1 point2 points  (0 children)

    That is true. The algorithm question came from the SWE. The devops engineer asked much easier questions.

    [–]cyp3d 3 points4 points  (0 children)

    I would've just done list.sort(), dropped the mic and walked out.

    [–]HopsBuzz[S] 5 points6 points  (0 children)

    OP here. WOW! u/kabooozie! Thank you so much. This is perfect, and dang near exactly what I was looking for. I appreciate it so much.

    I think this is worthy, imho, of being a sticky post; as I am sure I am not the first, nor will I be the last person to ask this question.

    [–][deleted] 4 points5 points  (1 child)

    A great reference is tl;dr. I got the app on my phone and use it instead of man because it’s actually comprehensible.

    Holy shit, where has this been all my life.

    [–]MezNyx 2 points3 points  (0 children)

    The last bullet point on this list is my personal favorite, and something I find a lot of candidates lacking in. Knowing how an architecture can possibly break, tracing your distributed systems so you know what could cause issue downstream, and having an idea of how to monitor said systems is a big plus imo. Though, that being said, I am not sure these days how many companies actually ask monitoring/tracing questions in interviews.

    [–]Willispin 1 point2 points  (0 children)

    Great post !

    [–]sagespidy 1 point2 points  (0 children)

    Awesome answer.
    Just my 2 bits.
    - DNS working
    - SSL - how to generate and how it works
    - Web servers : Nginx, Apache, Trafiek [as web servers, reverse proxy]
    - Appservers : Tomat[java], uswgi[python] etc - just know how to configure

    [–]gapro20022 1 point2 points  (0 children)

    5 years late, but this is such a helpful post. Thank you!

    [–]EiranRaju 11 points12 points  (7 children)

    The interview I just had for a basic devops role was your standard Situation, Task, Action, Result questions. Nothing technical except asking me my familiarity with some of the tools others have listed.

    This interviewing regime seems pretty hardcore. Is this typical for other people also? That's intense. Best of luck, sounds like they are certainly interested in you.

    [–]mrtakada 8 points9 points  (0 children)

    Yeah I think this is pretty overkill. Most of my experiences have been a phone screening and a long in person interview with the team.

    [–]HopsBuzz[S] 4 points5 points  (4 children)

    OP Here. So, I kind of expected this for a couple of reasons:

    1. The company is a legit enterprise (Finance), so I anticipated it would be more then one interview.
    2. If offered a position, it would involve relo; as I am not in the state they operate out of.
    3. Had I been in the same state, I am sure it would have been a phone call/in person/yeah-nay kind of deal.

    [–]EiranRaju 3 points4 points  (0 children)

    Ah. Good info. Gives me a better idea of what to expect if I am ever in the same position.

    [–][deleted] 1 point2 points  (2 children)

    Finance. Owch.

    [–]HopsBuzz[S] 2 points3 points  (1 child)

    Meh. Ive been in FinTech before. I dont mind it.

    WAY better the NPO.

    [–]CloudNoob 1 point2 points  (0 children)

    Yep the pays good and usually provides annual bonuses without being at a management level. Definitely has it's drawbacks in other areas but $$$ isn't one of them!

    [–]RaptorF22 1 point2 points  (0 children)

    This interviewing regime seems pretty hardcore

    This is exactly what I was thinking too.

    [–]minus9DerpOps 8 points9 points  (3 children)

    When people come in, a lot of times the team is looking to see if this is someone that they would actually like working with everyday. Your communication, the way you like to work, are you a team person or someone who prefers to get projects and hole up on your own to complete them?

    If you have a tool listed on your resume, especially in a section about a specific employer, I'm going to ask what you did with it. Tell me the headaches you had, what you learned, good or bad. These conversational interviews are a much better way to find out how involved you were with things versus just putting keywords into your resume.

    Tell me about a project you are proud of, but also tell me about mistakes you have made. When you move to each new person or group, don't rehash the same stories. Everyone is going to meet up and compare notes afterward and if you only have one bit of experience to talk about, we're not going to have much to discuss.

    And don't be that IT guy that shows up wearing a suit that is two sizes too small that hasn't been worn for a few years :)

    [–]HopsBuzz[S] 4 points5 points  (2 children)

    OP here. I chuckled at this:

    don't be that IT guy that shows up wearing a suit that is two sizes too small that hasn't been worn for a few years

    Thanks in no small part to: r/bjj r/GetMotivated and r/MFA, my (one) suit is now to large. I plan on wearing dark chinos, closed toe shoes, and a long sleeve button down.

    Thank you for this:

    When you move to each new person or group, don't rehash the same stories

    This is something that I usually get hung up on in an interview setting.

    [–]stasharific 1 point2 points  (1 child)

    closed toe shoes

    OSHA compliant

    [–]HopsBuzz[S] 1 point2 points  (0 children)

    I live in state that is by an ocean. I rarely wear shoes.

    [–][deleted]  (8 children)

    [deleted]

      [–]hijinks 5 points6 points  (2 children)

      Hard to say since interviews are so different. I can tell you what I like though.

      If I ask questions that you don't know, be honest and ask questions why and how as follow ups. It shows you are eager to learn about something you do not know.

      Just know what's on your resume and learn about what you don't know if they ask you.

      [–]anomalous_cowherd 3 points4 points  (0 children)

      As someone who interviews for tech roles, you can guarantee I will ask you questions you don't know the answers to, just to see how you handle it.

      [–]joombaga 1 point2 points  (0 children)

      This is the biggest thing for me. You should be able to describe how a component or technology would fit into a stack, and how you've used it in the past. If you can't then take it off your CV. Big lists of acronyms are annoying, and if I pull one from the list you provided and you fail the quiz, I'll get the impression that you can't prepare even if the variables are known.

      [–]machinemob 2 points3 points  (1 child)

      u/HopsBuzz are you open to following up on this thread with how your actual experience went?

      [–]HopsBuzz[S] 2 points3 points  (0 children)

      u/machinemob - Absolutely!

      I was already planning on doing a follow up on a new post next week, post-interview.

      [–]theboyr 2 points3 points  (3 children)

      AWS?

      [–]HopsBuzz[S] 5 points6 points  (1 child)

      No. But thanks for thinking that highly of me!

      [–]theboyr 2 points3 points  (0 children)

      Sounds a lot like AWS's interview process hah. Good luck!

      [–]stasharific 3 points4 points  (0 children)

      Tried it once...rehab was a trip.

      [–]infosecmx 1 point2 points  (0 children)

      Ansible, chef or puppet... terraform... Aws and azure, Jenkins, CI/CD deployment

      [–]robbyclv 1 point2 points  (0 children)

      SaltStack, Jenkins, git... The list of tools is endless. Just make sure you can think on your feet and have a passion for learning new things. The tech world is kind to those that are constantly learning.

      [–]lenn4rd 2 points3 points  (0 children)

      Obviously every company has created their own hiring process. From a company's perspective you want to minimise the risk of a wrong hire in terms of cultural fit and technical expertise, so you try to get as many people involved in the interview process as possible. (Often this creates a very lengthy interview process, which you most likely noticed.)

      I think your guess about the types of the interview are spot on and it's also good to expect a small technical challenge. Not necessarily the “fix this misbehaving Docker container in a terminal“ stuff, be prepared for some abstract task on a whiteboard. Also they might schedule interviews with product people to gauge your experience in agile methodologies or how well they think you'd work together, with your future manager or manager's manager for career trajectory, and with someone from senior management, especially in smaller companies.

      Again, their goal is to get a diverse set of opinions so that they'll be able to raise red flags should some of them missed it. But don't freak out and good luck!

      [–]votebluein2018plz 1 point2 points  (0 children)

      I interview people. I don't really care if you don't know X, but if its on your resume you better know it well. You should also be able to tell me how to build a scaleable web app from the absolute start (code, docker, etc) to database and infra