We helped write the sequel to "Cracking the Coding Interview". Read 9 chapters for free

An Interview with a FAANG engineer

Watch someone solve the mock machine learning interview (beginner) problem in an interview with a FAANG engineer and see the feedback their interviewer left them. Explore this problem and others in our library of interview replays.

Interview Summary

Problem type

Mock Machine Learning Interview (Beginner)

Interview question

A general machine learning mock interview covering core concepts including supervised learning, overfitting, and regularization, using the candidate's self-directed ASL-to-speech translation project as the running practical example throughout.

Interview Feedback

Feedback about Mystic Thunderstorm (the interviewee)

Advance this person to the next round?
Thumbs downNo
How were their technical skills?
2/4
How was their problem solving ability?
2/4
What about their communication ability?
3/4
Strengths and what went well * Genuine enthusiasm for ML and hands-on building; clear ownership of an ASL→speech project. * Practical pivoting: moved from a CNN approach to a Mediapipe+MLP pipeline when overfitting/generalization became an issue. * Sensible feature engineering: derived ~160 features (distances, angles, finger crosses, palm-relative measures) from hand landmarks. * Thoughtful dataset hygiene: used cosine similarity to detect synthetic–real domain mismatch and discarded low-quality synthetic data. * Professionalism and growth mindset: honest about gaps, receptive to hints, and reflective about leadership experience and team dynamics. * Real-world exposure: evaluation/ranking work and regular use of dev tools (Copilot, etc.) show initiative. Areas of improvement * Core ML fundamentals: could not explain gradient descent/backprop, training loops, or bias–variance/overfitting mechanics beyond intuition. * Supervised/unsupervised breadth: limited recall of common unsupervised methods and when to use them. * Data/label representation: confusion describing a “row”/example and label encoding; need crisper articulation of inputs, targets, and shapes. * Model selection & justification: rationale for MLP architecture (layers/units/activations) and hyperparameters was ad-hoc; no mention of tuning strategy. * Evaluation rigor: no clear metrics (e.g., accuracy per class, confusion matrix), validation split/cross-validation, or error analysis beyond anecdotes. * Regularization & generalization: partial recall (dropout, early stopping) but not L1/L2, data augmentation strategy, or simpler-model baselines. * Communication under questioning: several clarifications needed; answers sometimes meandered before landing on the point. Advice for future interviews * Shore up fundamentals (target: crisp 1–2 minute explanations): * How training works: forward pass → loss → gradients via backprop → parameter update via (stochastic) gradient descent/Adam. * Losses (CE/MSE), activations, over/underfitting, regularization (dropout, L2), early stopping, data augmentation, bias–variance. * Common algorithms: k-means/GAUSSIAN MIXTURE/DBSCAN/PCA (unsupervised), logistic/linear regression, SVM, trees/ensembles, basic CNN/RNN/Transformer blocks. * Prepare a tight project narrative: * Problem, data schema (one row = 21 hand landmarks × (x,y[,z]) → engineered features; label = 26 classes, one-hot encoded), model architecture, training setup (optimizer, LR, epochs, batch size), metrics, results (overall and per-class), top failure modes, and next steps. * Add quantitative evidence: * Bring numbers: dataset sizes, train/val/test split, accuracy/F1, confusion matrix highlights (e.g., M vs N vs R confusions), ablation (with/without features). * Practice explaining label encoding and shapes: * Be ready to state: input tensor shape, output vector size, loss used, and why. * Strengthen generalization tactics: * Try transfer learning (e.g., MobileNet/ResNet) with augmentation (rotate/scale/translate, lighting), and compare against Mediapipe+MLP; use k-fold or a clean val set. * Build a repeatable workflow: * Simple hyperparameter tuning (grid/random), learning-curve plots, and training/validation metrics logged (TensorBoard). * Communication drills: * Mock Q&A on “row of data,” “why overfitting?”, and “how does backprop work?” Record yourself and tighten to concise, jargon-correct answers. * Have a leadership STAR story ready: * Situation/Task/Action/Result from this project—highlight driving consensus, timelines, and measurable outcomes. With these steps, you’ll present as both a doer and someone who understands the “why” behind the “what.”

Feedback about Admiral Hex (the interviewer)

Would you want to work with this person?
Thumbs upYes
How excited would you be to work with them?
4/4
How good were the questions?
4/4
How helpful was your interviewer in guiding you to the solution(s)?
4/4

Interview Transcript

Mystic Thunderstorm: Hello. Hello. Hi, can you hear me? Uh, yes, can you hear me?
Admiral Hex: Yeah. Um, all right. Hi, welcome, uh, to your practice interview. We have 1 hour for this interview. Um, we'll do a mock in about 45 minutes and then can go over feedback in the last 15 minutes. Um, before we get started, maybe you can briefly introduce yourself and mention why you're doing this mock interview.
Mystic Thunderstorm: Um, well, I'm a senior at UMGC holding a 4.0 GPA, and I'm studying AI applications. I've, um, led a hands-on machine learning project, um, which was an ASL-to-speech translator using MediaPipe and MLPs through the online mentorship program called AI for All. And I really enjoy working with data, whether it's through like a recent class project I did where I explored movie trends from an IMDB dataset, or with the ASL-to-speech translator, had to validate static images with cosine similarity. Also with the real world, I've worked in AI evaluation roles. Right now I'm working at [REDACTED], which does freelance, where I ranked model outputs, assessed factual accuracy and prompt engineering. Personally, I also use AI tools like Copilot and Grock for brainstorming, troubleshooting, and stuff like that. I also, I live off-grid in rural Arizona. So I'm really interested in like remote opportunities. And I haven't been so great at interviews. I feel like I've been falling a little short. And I'm glad to have this opportunity through AI for All to do this. I'm looking for internships, you know, to deepen my coding skills and contribute. To projects that shape the future of AI.
Admiral Hex: Okay, sounds good. So whenever you're ready, we can get started. So we'll use the Coderpad for this interview. Um, we won't be writing any code, but just like you can use it to, uh, take notes as you answer the questions, right? Um, and write formulas and stuff. Um, Alright, let's start with supervised versus unsupervised learning. What do you understand by these terms?
Mystic Thunderstorm: Supervised learning is a lot of what I work at with [REDACTED] and [REDACTED]. It's with labeled data. Unsupervised is where you use unlabeled data and do more of the hypothesis testing and and the mathematics.
Admiral Hex: Do you know any examples of unsupervised learning algorithms?
Mystic Thunderstorm: Can you say that again? I'm sorry.
Admiral Hex: Examples of unsupervised learning algorithms?
Mystic Thunderstorm: Um, yeah, I'm a little familiar with them, like, uh, I'm not so very familiar with unsupervised learning. I know that it's clustering and hierarchical and k-means, but I, I don't have a lot of experience with them.
Admiral Hex: All right, what about supervised learning algorithms? Can you give some examples of this?
Mystic Thunderstorm: Uh, supervised learning algorithms involve regression, or, you know, like linear regression and decision trees. Good for predicting numbers. I use supervised learning with my ASL to speech project. It involved the— I had to label all of the images by MediaPipe coordinates for the hand segment. It was images that had hand signs for each letter.
Admiral Hex: Mm-hmm.
Mystic Thunderstorm: And I, I had to label them by, uh, the coordinates that the, that MediaPipe addressed for each image, and, um, then run it through a multi-layer perception— perceptron algorithm.
Admiral Hex: All right, let's talk about that project then. Uh, so what was the training data like? Like, what was the Yeah, before actually the training, I think you already described the problem a bit, but can you just describe it in more detail? What was the input to the model and what was the output?
Mystic Thunderstorm: The input for the model was actually, um, snapshots. Well, it was— the original training was, um, the dataset was images of hand signs of each of the individual letters. Um, there is, I believe, 300 per letter in the dataset. Originally, I felt like that wasn't— I originally was going to use a CNN model. And the only issue with that when I got to the end of it was that it was extremely biased and only knew its own dataset. I couldn't really use it for real-world application, which my intended real-world application was live video interpretation You know, kind of like a text-to-speech but ASL-to-speech, um, to be used like as a, uh, uh, I'm, I'm blanking on the term, you know, an attachment to Zoom. Um, I'm sorry.
Admiral Hex: Okay, yeah, uh, like it's a Zoom extension that Zoom extension.
Mystic Thunderstorm: Thank you. The end product that I ended up with didn't do live because I was using Streamlit and Streamlit didn't have the ability to really handle live video very well. I was going to look into other platforms, but I was able to get it to do— basically, you told it to take a snapshot of your hand in the certain sign and it would say the letter. I was still struggling with some of the, you know, like the letters like R that cross fingers and M and N and getting the differences of them. However, I was able to get, I think, about 20 out of 26 letters to accurately predict and speak using a library that recognized many common words for the speech.
Admiral Hex: Got it.
Mystic Thunderstorm: Okay.
Admiral Hex: So what was one row in the training data?
Mystic Thunderstorm: I'm sorry, what was it?
Admiral Hex: One what? What is one row in the training data for this?
Mystic Thunderstorm: One row in the training data for this?
Admiral Hex: Like, what's the training data format is what I'm asking. So if you were to describe one row, in your training dataset? What, what was it like?
Mystic Thunderstorm: Uh, it, it was to, to teach it the hand signals. Is that what you're kind of asking? I'm sorry, I'm still not quite understanding the question.
Admiral Hex: So like, how— what was the size of your training dataset? Like, how, how many—
Mystic Thunderstorm: the, the training dataset Was 300 images per letter, right?
Admiral Hex: Right. So what was one row in that dataset, like one training example? What did that consist of?
Mystic Thunderstorm: Like each individual letter? I'm sorry, I'm still not understanding your question. One row. One row. Okay, not roll. Yeah, now that I was— I wasn't looking at the screen, I should have. It would be the coordinates. So each individual image was assigned the coordinates that were given using MediaPipe. So it would be a set of numbers in paired sets that would identify for each of the markers that MediaPipe gave.
Admiral Hex: Okay, but when you're actually putting this as an input to the model, you need the image data as well, right?
Mystic Thunderstorm: It translated the image data into coordinates. We didn't actually use CNN kind of model. It was all numbers in the end.
Admiral Hex: Right, so what do those numbers represent? Were they like pixel intensities?
Mystic Thunderstorm: No, they were coordinates that MediaPipe assigned on the hand. It had apps that normalized the images so that we didn't have to do the pixels. I did want to investigate into doing it that way, but I was finding it to be way too overly biased.
Admiral Hex: So how many coordinates did you have in one row?
Mystic Thunderstorm: Oh, let's see. I would actually have to look at that again because it was so many because I had to do features for every individual finger and some of them needed distances and whatnot. So I believe it ended up being, um, well over 100, I believe.
Admiral Hex: Right, right, right. So those are like XY coordinates, and if you join them together, they can reproduce the, the hand signal, right?
Mystic Thunderstorm: Yes.
Admiral Hex: Okay, uh, and what was the labels?
Mystic Thunderstorm: Uh, the labels were based off of the, um, off of the image file name, um, and they were in They were divided. Each, each letter had its own folder.
Admiral Hex: Um, so the output, like, if you, um, so the output is a, uh, the output column is a letter, right?
Mystic Thunderstorm: Mhm.
Admiral Hex: Label is a letter. And how was it encoded while for when you were training the model? How was the, the label encoded?
Mystic Thunderstorm: The label was encoded, like I said, by file name, and it knew for each of the different categories it would have the letter. Um, it's been a little bit—
Admiral Hex: feed the letter to the model, right?
Mystic Thunderstorm: Right.
Admiral Hex: Uh, more generally, like, if you were to actually feed— let's say the output is a letter Now you want to put this into a model. So how would you encode that letter? Do you know of any way to encode it?
Mystic Thunderstorm: Oh, well, I mean, I could have changed them to numbers, but I was able to just run it by reading the file name because each letter was in an individual directory. And it translated back. I didn't actually have to encode it in the CV.
Admiral Hex: Yeah, that— but that encoding was— what was the package that you were using to train the model? Like scikit-learn or something else? PyTorch?
Mystic Thunderstorm: Yeah, I would— yeah, I was using, um TensorFlow.
Admiral Hex: TensorFlow, right? So TensorFlow did that translation for you, most likely. But yeah, it did transform the letter into a number, right? Okay, so one row is like a hand.
Mystic Thunderstorm: The—
Admiral Hex: and what were the features that you used?
Mystic Thunderstorm: Like I said, the features really broke down into, um, the individual needs for the different letters. Such as the— where the index— like each, each finger had a label like index, middle, pointer, pinky, and, and their points. Let's see, it ended up being quite a few features.
Admiral Hex: So how do you break the hand down into fingers in a way that you can feed into the model, right? Like, um, so let's say initially you have just the coordinates, list of coordinates, right? And after transformation, what do you actually get? So like your example, like the index, like how would you represent that to the model?
Mystic Thunderstorm: It was a location on the coordinates, like the— it would look at the, like, the vectors of the different, um The media pipe would identify like the fingertips and the joints, and then the distances between those points were figured out for each of the different features of the fingers.
Admiral Hex: Right, right. And? Did you just give a list of distances, or were they in separate columns?
Mystic Thunderstorm: Uh, yeah, they were, they were in separate columns. Uh, we ended up with 160, uh, features actually, um, such as looking at like finger crossings, different shapes, palm, the relative to the palm, and angles.
Admiral Hex: All right, and what is the model that you used?
Mystic Thunderstorm: The model that I used was a, uh, multilayer perceptron model.
Admiral Hex: Okay, and how many layers did it have?
Mystic Thunderstorm: It had—
Admiral Hex: like, how did you choose the model parameters more generally? Like, you don't have to remember exactly But just walk me through the process of like using the model.
Mystic Thunderstorm: Well, I actually got the, the idea from my teammate because I was pretty stuck on CNN and I wasn't able to figure out a way to normalize the data. So that's when we came up with using the MediaPipe option. And she came up with the Multilayer perceptron, but it wasn't enough layers, so I had to manipulate the code to work with it. Um, yeah, I use AI a lot, and I'm not saying that it did everything because I do understand my code.
Admiral Hex: Um, yeah, but high level, like, yeah, like you're saying, You had to manipulate the layers. So what did you need to manipulate? Like, is it the number of layers or the size of the input layer?
Mystic Thunderstorm: Oh yeah, the, the originally it was, I believe it was only like 2 or even just, yeah, only 2 blocks and we added, we made a third block to help get the fine tune for the finger. Okay.
Admiral Hex: How do you train a multi-layer perceptron model?
Mystic Thunderstorm: Oh, my little truck's gonna get his ass kicked by Ableton. Sorry about that. Um, this was my first time doing it. I haven't been taught how. It was more of on my hands-on experience with it.
Admiral Hex: Um, do you know what happens during the training process? Like, just, you don't have to like give an absolutely correct answer. Just tell me what I know or what you understand, right?
Mystic Thunderstorm: Well, I understand that it, um, it breaks it down into different layers. I mean, obviously that's, that's in the name of it.
Admiral Hex: Um, but just, okay, forget about MLP, just like any supervised learning. Model, right? So whatever, like random forest, whatever. Uh, so what would you— so you have your training dataset, you have a model, and you want to train it.
Mystic Thunderstorm: Mhm.
Admiral Hex: So what's the first thing that you do?
Mystic Thunderstorm: Well, the first thing that you do is clean the data and make sure that, that there's not any, uh—
Admiral Hex: what I mean is like you've done all, all of that stuff. The data is in the format that you want it, right? You have the features, you have everything. So what I'm really asking is, when you call like.train in TensorFlow, what is it doing under the hood, right? So like now it has to like train the model, right? So it has to read your dataset and do something with it to get the model parameters. What is that something?
Mystic Thunderstorm: I knew I was underqualified for this. I mean, I understand it, but it's difficult for me to explain it. I mean, it goes through and it reads the information and I know that it's basically looking for a best fit when you think about it from, uh, like a graphical, uh, it's looking for the best fit.
Admiral Hex: So how can it find the best fit, right? So maybe it—
Mystic Thunderstorm: the ones that are the closest to one another, um, or—
Admiral Hex: okay, let me help you out a bit here. So let's say it starts with like some random parameters right? And then it puts— it takes your input dataset, it takes maybe the first input example, puts it through this random model, and it gives you a prediction, right? Now you have the prediction and you have the label. Can you guess what you would do next?
Mystic Thunderstorm: I have the prediction and I, and I have the label. Well, I would, uh, I would test it with, uh, test data.
Admiral Hex: So, uh, the testing happens after you've trained it, right? We are talking about the training process itself. Have you heard of something called gradient descent?
Mystic Thunderstorm: Radian descent, you said?
Admiral Hex: Yeah.
Mystic Thunderstorm: Um, actually I'm not familiar with that term.
Admiral Hex: All right. Or backpropagation?
Mystic Thunderstorm: No.
Admiral Hex: All right, okay, good. No worries. Um, let's talk about something else. So, um, let's say you trained your model and you evaluated on the test it, and your training performance is pretty good, but your test performance is pretty bad. What would you do?
Mystic Thunderstorm: Um, well, actually, I, I ran into that issue with the— with this project. The training was pretty well, and the The test was actually not too terribly bad. I guess I would add more to it if the test was pretty bad, because that would mean that it didn't properly learn, because that's tested off of data that it didn't get trained on.
Admiral Hex: But if it didn't learn enough, then even the performance on the training dataset would have been bad.
Mystic Thunderstorm: Right, right. Yeah, that's what I was thinking. But you said that the test was pretty bad. If it was a, um, if it wasn't on that, because what you, what you're supposed to do is take out some of the training data as test data afterwards. And are you saying that that went bad, or are you saying that, uh, testing it after that went bad?
Admiral Hex: Uh, I'm just saying like you split your dataset into training and test dataset and, uh, you trained the model, you kept on training it till, you know, your training loss converged, right?
Mystic Thunderstorm: Right.
Admiral Hex: So that means that the loss on the training dataset is low, right? So that means it's doing pretty well on that 80% training data that you have. But then when you evaluated it on the 20% test dataset, you saw that it's not doing so well.
Mystic Thunderstorm: So what I would, I would assume that would mean that it was biased and I need to add more diverse data to it. I actually did run into that. That's, that's what I was thinking you were asking when I said this earlier. Um, when I was training it with the CNN, CNN model, I found that I could test it on its own test data and on its training data, it would get it 100% correct. But as soon as I tried to feed it something brand new, it had no idea what to do. So what I had decided to do was we found another dataset that we were gonna add to it. And I thought it was a great idea. It was a synthetically made one and as visually as I could tell, it was fine. However, when I fed it into it, I ran into even more problems. Now it didn't know its own training data or test data. And it turns out that even when I tried doing it with the newer, the one that we ended up going with, the MLP with MediaPipe, it still wasn't getting it right. And again, I was having a hard time figuring out why. And I decided to run a cosine similarity test between the the original data and the synthetic data to see how much of a skew there was, and I found that the synthetic data, though visually looked okay, the hands weren't natural enough in enough of the data to really be helpful. So we ended up tossing that out, and then I found by going this different approach with the MLP and MediaPipe that I was getting better results, but I still had to go back through and add the extra features that we talked about earlier.
Admiral Hex: All right, have you heard of something called overfitting?
Mystic Thunderstorm: Yeah, yeah, I, uh, I really felt like the CNN, uh, model was extremely overfit.
Admiral Hex: So that's what happens, right, when your performance on the test dataset is not as good as the training dataset. It means that you're overfitting. Yeah, right. So, um, apart from like— I know you mentioned like, uh, changing the data, but what if, if we were to keep the data constant? Or let's say we change the data, right? We have like a good enough dataset that's, uh, pretty diverse and everything. And then, but we're still, we're still facing overfitting. So what else can we do?
Mystic Thunderstorm: Well, there's, what is it called, cross-training where you can, but that's, that's adding to the dataset. So that's, that's not an answer to that one, is it? You know, like using Oh, what's the name of that? You know, use— or using a model that's already been trained to help it.
Admiral Hex: Um, right, but those are more advanced things. Like, what is something simpler that we— firstly, what is the cause of the overfitting? Like, why is that overfitting happening?
Mystic Thunderstorm: Because it, um It's too precise to—
Admiral Hex: how do I explain it?
Mystic Thunderstorm: It's biased. It only understands its own data and it can't— oh, I can add noise. I can add noise to the training data to help it learn changes in the situation. I also sought ways to normalize it.
Admiral Hex: That's what I did with the changing it to MLP to MediaPipe model architecture itself. So yeah, I think adding noise is a good suggestion because—
Mystic Thunderstorm: oh, there's also dropout.
Admiral Hex: Yep, yep, yep, that's a good thing.
Mystic Thunderstorm: Early stopping. Yes, yes, I already had had that in there, that's why I forgot. That, yeah, that was something that came up naturally. Um, right.
Admiral Hex: So, but what, what are these things all telling you? Like, you know, like early stopping helps overfitting, um, helps overfitting. What does that tell you about, like, why the overfitting is happening? Of course, there's like something related to the data itself, but is there something related to the model that you could change, or like something in the model that's causing it to overfit?
Mystic Thunderstorm: I'm not quite sure how to answer that question, actually.
Admiral Hex: Right, so yeah, this is one of the important concepts, right? It's like if your model is too complex, right?
Mystic Thunderstorm: Well, okay, yeah, yeah, if your model— that would make sense. Yeah, yeah.
Admiral Hex: So it's like you have too many layers in your MLP, or your random forest has a very high max depth, right? Something like that, right? So it's then fitting the noise in the training data as well. So every training data will have some inherent noise. There'll be some signal and there'll be some noise. What you want is to learn the generalizable signal but not learn the noise. But if you make your model too complex, or if you put like the training data like many times, if you train the same model many times on the same training data, like you have many epochs or something, right, then it's called overfitting, right? So apart from the data and then how much you expose the model to the data, It's also a function of the model complexity, which is why you have regularization techniques, right? So, uh, so like dropout is a regularization technique which adds random noise inside the model. So it basically just drops the inputs, uh, with a random chance. And what that does is that avoids a situation where your fitting the training set too well, right? Mhm. Another way is you could add a penalty to the loss function. So you could add an L2 regularization term to the loss function, right, which basically means that you penalize the model for having, uh, you know, weights that are too big, right? So you limit the size of the weights, right? So in addition to your normal loss function, you have this regularization term which is scaled by the magnitude of the weights. Okay, right. Um, and also, like, even before all of that, you could just try making a model simpler. Right, so you could just reduce the number of layers.
Mystic Thunderstorm: Yeah, I was overthinking. That's kind of what I was trying to say, you know, because with the CNN model, it was also a little bit more complex than it needed to be that my teammate, she couldn't even understand the code and just decided to start fresh.
Admiral Hex: Yep. So you could have made that CNN work with more aggressive regularization. So you could have added dropout, uh, you could have added regularization terms, and you could have just reduced the number of layers in that, right? And that— or, you know, there are things like stride and stuff, right, which you could have. And in any case, CNN works more on images directly rather than the coordinate thing that you had going over there. So you would actually put the raw image intensities, right? And then there are things like, right, like, you know, what's the size of the input and like, you know, all of those things that, uh, you can also do a bunch of data augmentation. So one thing that, yeah, that is useful.
Mystic Thunderstorm: Yeah, I run into that.
Admiral Hex: Yeah, is like you can just rotate the images and put them in. So rotate and translate the images, put those in as well in addition to the original images, right? So that makes it like invariant to all the rotation and translation and all of that, right?
Mystic Thunderstorm: Um, cool. Yeah, the other thing, rotate the images. Yeah, I, I remember manipulating that too. Um, it, it seemed like anything that I did with the CNN, it was not working.
Admiral Hex: Yeah, I think it's— yeah, it's also like training a CNN from scratch with like the dataset that you had might be the problem, right? Like, you would have been better off taking an off-the-shelf CNN and fine-tuning it. Because—
Mystic Thunderstorm: oh, ResNet. That's what I was thinking of earlier. Yeah. Yeah.
Admiral Hex: So you can take ResNet and fine-tune it, and that is still like a better, like more tractable approach. But I think your approach at the end with the MLP was also like pretty reasonable.
Mystic Thunderstorm: Yeah, it kind of added more complexity with the features and whatnot. And I was still not able to get all the letters. I may have ended up switching back after figuring it all out. Um, I, I, I learned by messing with code, you know.
Admiral Hex: Um, no, I think that's how you learn, right? Like, I mean, you know, you gotta try these things and like try and fail, and then you know, like, you know, where these things go wrong, and that's how you learn, right? Like, I think that's definitely a big part of like getting skills in this field is just trying things out. Um, so yeah, you should, you should definitely have curiosity and definitely try things out. There's, you know, there's literally no downside to doing that.
Mystic Thunderstorm: Um, yeah, all right.
Admiral Hex: Is there anything else you would like to mention from your project or any other exploration that you did in ML?
Mystic Thunderstorm: Um, well, not really on the technical side, but I did learn a lot about leadership with this project because there was, um, my teammates were not really engaged, and I saw that from the very beginning. And I'm usually not the kind of person to volunteer for a leadership position. However, I wanted to actually get something out of the project. So I, you know, really, I decided to volunteer as a project manager for it. And I learned a lot about, you know, pushing my teammates and working out deadlines and realizing that I might need to pick up what they've dropped, you know. Taking the extra time.
Admiral Hex: Yeah, no, that's a valuable learning experience for sure.
Mystic Thunderstorm: Yeah, and from there I've actually felt like I can be, I'm a bit more confident to take other kinds of leadership positions. I actually felt the reward of, you getting the project done. And, you know, when we actually presented and were able to work together to present the project, there was an extra amount of pride that I wouldn't have had unless I— except for that I was the leader.
Admiral Hex: Yeah, yeah, that makes sense. All right, anything else you would want to talk about?
Mystic Thunderstorm: No, I really do appreciate your help, and I'm glad this is a mock interview because I don't think I would be getting the job.
Admiral Hex: Yeah, no worries. Uh, can you just tell me a bit more about your background again? So you, you're not in college right now, right? You're working?
Mystic Thunderstorm: No, I'm— I am in college right now.
Admiral Hex: Oh, which year are you? Like a junior year?
Mystic Thunderstorm: I'm a senior.
Admiral Hex: All right, great, great, cool. So, you know, it's just a start of a journey.
Mystic Thunderstorm: Um, yeah, I— like I said, I don't have a lot of the, the hands-on manipulating, um, the algorithms, and so that's why I'm a little rusty on that. I only have pretty much some data classes left to take, uh, before I would be done with my major in AI applications.
Admiral Hex: Mhm. All right, so before I share the feedback for this interview, I want to understand from you how this interview went. What are the things you did well, and what are the areas for improvement?
Mystic Thunderstorm: Well, like I said, I, I really feel like I didn't really qualify for this. Um, it was a good experience. I understand a little bit better about what kinds of questions would be asked and that I need to work on my knowledge on algorithms a little bit more. And also some of the terminologies I was totally blanking on. Yeah.
Admiral Hex: Yeah, I think that sounds fair. So yeah, there are basically like, I think, two aspects of machine learning. One is like the theoretical grounding, which is like you said, you know, the algorithms, how they work, all the terminology, and, you know, the maths behind it. And, you know, I think many people in the application space sometimes just gloss over all of that. But I feel like it's very valuable because, for example, like to take an example from what you were doing, like why won't the CNN work? Or like what's the problem with the MLP? Why is it working on certain examples? Why is it not working on certain examples? What can you do? Right? All those kinds of things, you'll have a much better idea of how to approach those kinds of problems. Once you have the theoretical grounding, right? So once you actually know how MLPs are trained, how they're evaluated, uh, how does machine learning work, why does overfitting happen, why does underfitting happen, what are the different techniques to like work around overfitting, etc. And just like in general how machine learning works mathematically, Right? Once you have a good understanding of that, you'll sort of develop a more intuitive understanding for what can work and what can't work. And then, you know, when you're in a practical situation, you have more ideas on what you can do. Right?
Mystic Thunderstorm: Yeah, okay.
Admiral Hex: But at the same time, it's not enough to just read the formulas and the maths and understand the maths. You also have to do the practical things, right? And what you'll find in the university courses is they might give you like a good theoretical understanding, but they are very light on the practical details, right? So it's important both, I feel, to, to succeed in this career. You know, you need to have like a good theoretical underpinning as well as sort of practical experience, and that's how you set yourself up for, you know, success in the future.
Mystic Thunderstorm: Okay.
Admiral Hex: All right, cool. Do you have any questions for me?
Mystic Thunderstorm: No, I don't think so. Thank you.
Admiral Hex: All right, uh, best of luck with your learning journey, and you know, hope you do well and have a nice week.
Mystic Thunderstorm: You too.
Admiral Hex: Thanks. Bye.

We know exactly what to do and say to get the company, title, and salary you want.

Interview prep and job hunting are chaos and pain. We can help. Really.