Introduction to Data Structures for Interviews Interview Process
Transcript from the "Interview Process" Lesson
>> Bianca Gandolfo: So what to expect is, step one is really submitting your resume or application, no surprise here. You're gonna either do that by emailing someone, talking to someone in person and then emailing them your resume, or applying through some online portal. Or maybe even using some platform like Hire.com or Triplebyte, which has a hybrid model where you set up a profile and companies seek you.
[00:00:28] The next step may or may not happen at the very first step, but it could happen throughout any step of the process, which is the coding challenge. And this doesn't happen for all companies, but it seems to be getting more and more popular. So the coding challenge can be a HackerRank test, where you're timed and you're solving data structures and algorithms problems, or some multiple choice kind of questions, so sort of trivia related to whatever your domain expertise may be that you're applying for.
[00:00:59] It could be to write an app from scratch. Usually they're pretty simple, like a to-do app or something like that with no data persistence. Or they'll give you a demo app and you're supposed to implement a future in this app that's already made.
>> Bianca Gandolfo: The next step is recruiter phone screen.
[00:01:18] This is more kind of, I get to know you, it's very friendly. The recruiter is gonna spend time marketing the company to you, why it's a great place to work, what their culture is like. So this is a pretty easy step in terms of technical interview, in terms of the whole process, but you do need to take it seriously and you still need to research for it.
[00:01:46] Research about the company and have questions to ask, things like that. Then there's the technical phone screen, this is usually where you're typing in a Collabedit or even a Google Docs. So you're gonna be coding in an odd environment, and you'll be answering often data structures and algorithms questions, general questions about your past projects, your experience, technologies that you've worked with, things like that.
[00:02:13] And the very final step, sometimes there'll be one technical phone screen, sometimes there'll be two, it depends on the company that you're working for. Sometimes the coding challenge comes after the technical screen, or sometimes the coding challenge comes before the technical screen and then you talk about your implementation with your phone interviewer.
[00:02:33] The onsite interview, these are pretty much a whole day affair. I've seen them be broken up into two half days, but generally you can expect four to six hours of interviews for an on site interview. If you're out of town, they'll fly you in. They usually pay for your hotel and things like that.
>> Bianca Gandolfo: Yeah, so it's similar to the technical screen, where they're gonna be asking you to talk about your past projects, your specific domain knowledge. So if you're doing a front-end, you're applying for a front-end role, you're going to be asked questions probably about CSS. Or if you have a framework on your resume, like React or Angular, expect questions about that.
[00:03:13] Trade-offs that you would make, and examples of things that you've made with those technologies. And then also you'll be doing likely data structures and algorithms type questions, especially if you're applying to a bigger company. Smaller startups tend to err on the side of less data structures and algorithms, and then larger companies tend to rely more heavily on them.
[00:03:36] So what that means for you is, if you're applying to one of the larger tech companies, really really drill on those data structures and algorithms, especially if you are a new grad or this is your first job as a software engineer. They're likely gonna be more focused on the problem solving data structures and algorithms versus deep domain knowledge.
[00:03:58] So new grad rules, internships, things like that, more data structure-centric, bigger companies even more data structure-centric. Startups aren't that worried about data structures, but they should ask you some coding challenge type questions that might rely on a data structure. And so you do need to do some preparation for that, but I would focus more on showing that you can hit the ground running.
[00:04:26] Often startups don't have the resources to invest in training you, and so they're really just trying to see if you can come in, be independent, wear multiple hats. These are small startups, there's also larger startups that have more resources, so kind of think about this in a range, it's not a black or white type of statement.
[00:04:48] What do you think is gonna be the most challenging aspect of the process?
>> Speaker 2: Onsite interview.
>> Bianca Gandolfo: Yeah.
>> Speaker 2: Bear with me.
>> Bianca Gandolfo: Yeah, yeah, no problem. Onsite interview, why is that?
>> Speaker 2: Well, cuz you have the actual knowledge factors involved, but you also have the psychological, emotional factors.
[00:05:11] That's also gonna put pressure on your thought process and how you analyze and break a problem down, versus if you were just hanging at some place, that comfortable zone that you're [INAUDIBLE] thinking.
>> Bianca Gandolfo: Yeah, and also it's long. Right, multiple hours of being grilled, yeah.
>> Speaker 3: For me, it's anything on the phone.
[00:05:31] So just based on your layout, technical phone screen would be terrifying, because you can't read the cues, right? And then so it feels almost like you can't make a personal connection, right, and they're throwing these questions at you. So that for me is definitely the scariest part.
>> Bianca Gandolfo: Hm, yeah.
>> Speaker 3: Because I think by the time they bring you on site they've already kind of invested, and they've vetted you enough to bring you in. It's almost like they don't want you to fail at that point.
>> Bianca Gandolfo: Yeah.
>> Speaker 3: But I think anything leading up to that is just elimination game.
>> Bianca Gandolfo: Yeah, totally. And another thing I forgot to mention when I talked about technical phone screens is, sometimes they're just high level questions about your domain expertise. So I've had technical interviews where there was no coding involved at all, just compare and contrast different frameworks, talking about data flow through your application, and how would you setup the project for the first time, these kinds of questions.
[00:06:27] That happened to me once, so I wanted to mention that. Okay, so that's what to expect. So how do you overachieve at each step? So for the resume application piece, get a recommendation. If you can, hopefully you can find someone who you know, a friend of a friend, especially someone you used to work with, and get a recommendation that way.
[00:06:50] If not, it's better than nothing just to meet someone on LinkedIn, ask for a conversation, meet for coffee, and ask for a recommendation that way. This works especially if you're part of the same network, so if you went to a coding bootcamp or something like that you can ask someone who went to your same school.
[00:07:08] Or if you want to college, there's sorority or fraternity kind of groups. These are kind of networks you can pull from and contact. Or you could just cold call, and see what you can, you know? It never hurts to ask. And then, for the coding challenge, what they're really looking for, is clean, correct code.
[00:07:33] So you wanna make sure that your indentation is correct, all your brackets, or all of your semicolons, are inserted, if you use semicolons. That you're being modular, you're breaking your functions up into the smallest possible components in a reasonable way without going too crazy. Especially with time constraints, you might not have time to go too crazy with it.
[00:07:57] And then once you get to the, mm-hm?
>> Speaker 4: So it may be kind of a weird question, but do you find it's worth it to bring in a linter on coding challenges, just to enforce that, or do you feel then they look at it and, they're cheating?
>> Bianca Gandolfo: Well, it depends.
[00:08:10] So some coding challenges are on a platform like HackerRank, and so I don't believe HackerRank has a linter. But if you're pulling in a code from GitHub, for example, you should just have a linter set up in your editor and just use that, yeah. Yeah, but there might be an online,
>> Bianca Gandolfo: There might be an app where you can paste in code and it lints it for you, I'm not sure. I usually just do it locally, but yeah, that's a good question. There's the other thing, as HackerRank will track whether you copy and paste stuff, and they gauge if they think that you're plagiarizing, and things like that.
[00:09:03] So I would just be careful with copying and pasting inside and outside of the HackerRank platform in particular. The other ones, I'm not as familiar with. Okay.
>> Bianca Gandolfo: So, recruiter phone screen. So they wanna just make sure that you're gonna fit in with the team, that you seem like a nice person, and that you have reasonable reasons for why you are leaving your company and why you're interested in their particular company.
[00:09:36] So, how do you overachieve for this? Read their engineering blog if they have one, know about what's going on with the company, just quick Google search, find out news and ask them about that. So it just shows that you're engaged and you're interested in what they do. Technical phone screen, they're just looking for your technical ability and also fit.
[00:10:01] When I say fit, basically what that means is, do they like you? Would they enjoy working with you? And do they think the other people on their team are also gonna enjoy working with you? And so they're gonna be gauging that throughout, so communication is key throughout the process.
[00:10:18] Don't be silent if you could help it, and be confident, and be nice, and ask them how they're doing. If it's a Monday, maybe ask them how their weekend was. Just normal things like that can make you come off as more sociable, more of a fit than not doing those things.
[00:10:42] Onsite interview is really similar, so more data structure and algorithms. Tends to be a little bit harder than the phone screen, depends on the company. Some companies their phone screen, technical challenge is just to kind of check if you can code kind of challenge, so it'll be a Fizz-Buzz where you're just looping and you're printing things out.
[00:11:04] But more and more I'm seeing the technical phone screens are more similar to the onsite interviews, except they're shorter. And so the problems maybe a little bit easier, just because the time constraint of the phone screen is usually 45 minutes or so, versus onsite it's more like an hour.
[00:11:24] Although that can vary, of course. So know your data structure algorithms, thinking ahead of time about recent projects. Like a highlight reel, what are some really cool challenges that you saw recently, how did you do it? Just have that on hand. Here's the other one, what was some issue you had with someone you work with?
[00:11:47] How did you resolve it? So just write these things down and have them ready. When people ask you to tell you about themselves you can give them a good answer about who you are, what you do, and what you're interested in next. All right.
>> Bianca Gandolfo: All right, yeah, and another thing is, have a conversational tone.
[00:12:11] You don't need to be overly formal, but you don't wanna be too informal as well, you wanna have a good balance there. Okay, any questions about how to overachieve at each of these steps?
>> Bianca Gandolfo: Mm-hm?
>> Speaker 5: So if a recruiter, or whoever your future employer may be, asks you, tell me about yourself, how do you approach that?
>> Bianca Gandolfo: I just flail, usually.
>> Speaker 5: Okay. [LAUGH]
>> Bianca Gandolfo: [LAUGH] No. I mean, so the format I try to take is, this is who I am, this is where I work, this is something I'm working on lately. And then usually I say, and also I do a lot of education related stuff, and I really am passionate about that.
[00:12:59] So that's kind of the format. I'm like, who I am, what I do now, or the project that I'm currently working on? And some other technical tidbit that shows that I'm engaged to have some technical leadership type experience. So that's kind of how I do it, yeah.
>> Speaker 5: So stuff like, this is why I love what I do, and this is why I am who I am, and more like, this is what's currently going on in my life?
>> Bianca Gandolfo: Yeah, yeah. At least I like to draw from just the facts, and then let them kind of speak for themselves. I don't know if that's necessarily the best technique, but that's just my approach generally, yeah.