So, my job's getting outsourced this summer, and I'm deep into figuring out my game plan for interviews. I'm mostly a frontend engineer, working with Angular, SCSS, and ngRX for our app. I've dabbled in backend too, even went full-stack in my team, but my backend skills aren't great. My manager supports me marketing myself as a full stack person, but I'm wondering if going all-in on full stack jobs is worth the effort during the interview prep, especially since I'm not a big fan of backend work.
Then I wonder if the downside of applying for frontend jobs is that there are not that many and the barrier for frontend is lower (maybe because of coding bootcamps and it can be self-learned) so competition will be higher.
Now, I'm drowning in prep work - data structures, algorithms, frontend know-how, and system design. Recently got hit with a surprise system design coding round in an interview (an internal position I arrogantly thought I had in the bag) I thought was all about frontend and DSA. Did okay, but not stellar, and now I'm feeling unprepared for every interview. I feel crippled to even apply to positions. It's a bit of a mess.
Appreciate any & all feedback!!
Any tips on tackling system design questions, especially the coding part? Most online resources seem to focus more on design rather than coding specifics.
I'm curious: What coding are you having to do for your system design interviews? Since you work on the front-end like me, the extent of the "coding" would be defining things like the client-server protocol (i.e. API definition), various models, and database schema.
Here's 2 system design resources I made which should be relevant to you:
If you need to write actual running and compiling code for a system design interview, I don't think it's a system design interview anymore.
How should I balance DSA, system design, frontend prep? What topics and how much time should I commit to each of them?
This is the hard part of interviewing, especially in this economy where Big Tech jobs are relatively dry: You have to be dynamic.
A lot of companies don't really ask DSA, especially startups. On the other hand, a Google L3/L4 interview will be entirely DSA. You should morph your preparation based on what interview types you are getting.
I talk more about this here: "How to prepare for interviews after layoff?"
Also, am I on the right track leaning towards applying for just frontend roles?
You mentioned that your back-end skills aren't the strongest, so applying as full-stack opens the risk of getting a deep back-end question and then getting roasted. I wouldn't worry about the increased competition + bootcamp thing as you're a mid-level engineer (you are above the massive ring of junior engineers fighting for survival) and you are working at Mastercard, a massive company that everyone knows and has some level of respect for (it's a good product!).
Did okay, but not stellar, and now I'm feeling unprepared for every interview. I feel crippled to even apply to positions. It's a bit of a mess.
I wanted to write a separate reply to this as it's so important: Don't let failure get to you.
I know that it's easier said than done, but if you want to have success interviewing, you absolutely have to embrace failure and acknowledge the reality that interviews are frankly kinda bullsh*t.
Unlike most engineers, I have thoroughly been on both sides of the table. I gave interviews across all of my companies: PayPal, Course Hero, Meta, and Robinhood. I have gone through 1,000+ candidate packets and done 250+ interviews. And here's what I'll tell you: The vast majority of teams have 0 idea what it means to give an actually good interview that is fair, reasonable, and efficient.
When you do interviews, you'll have a mix of failures that were more your fault, some that were more the interviewers' fault, and some in the middle. That's all perfectly okay and it is what it is: What's important is that you learn from every failed experience and don't dwell on it for too long.
I highly recommend going through this interviewing masterclass that we gave which covers the mindset in more detail: [Masterclass] How To Ace Your Big Tech Interview - Data Structures And Algorithms
This playlist should be helpful as well: [Taro Top 10] Effective Interview Prep
Lastly, to prevent getting surprised by interview questions in the future, check this out: "How to figure out what's going to be on an interview?"