profile

Hi! I'm a Creator.

Dedicated Q&A Session in 2 Weeks + Session Recaps

publishedabout 1 year ago
4 min read

Hi everyone! We've had quite a few sessions in the past few weeks, but things are going to slow down considerably next month. We have one session on Wednesday, August 4 at 7pm as an open-ended Q&A (LinkedIn event), but then may not have anything until September.

Since we always run out of time for answering questions, we're having a dedicated Q&A on Aug 4 - please submit questions in advance here, and then we'll open up voting to ensure we discuss what's top of mind for all of you. You can ask questions about tech careers, or meta questions about the community - anything is welcome! As usual, you can find the Zoom session info in the LinkedIn event or the Google Calendar.

Finally, one last update before going into the session recaps: Alex and I are trying to be transparent about the Tech Career Growth community by sharing numbers + reflections over the past few weeks. Here's the most recent "state of the union" post with a very interesting chart 📈

-----------------------

Yesterday was our session about how to get promoted faster. Rather than embedding the full recap here, I'll point you to #session-recaps in Slack or the LinkedIn article I wrote.

Last week we had a session about how to best prep for DSA problems during interviews:

The Mental Game

  • Progress with DSA will be exponential. You will struggle in the beginning for a long time. You will eventually hit an inflection point where you start recognizing patterns and finally feel like you’re making real progress. Hang in there.
  • Even though we all hate DSA problems, getting better at them is straightforward. The path to success is as simple as sticking to the plan. There’s no luck involved, just a deep work ethic.
  • Take breaks! Interviewing is exhausting; if all you do is grind and cram, your mental state will not be good enough for the interview. Alex’s rule of thumb: ~30 minute break for every 2 hours of work.
  • Find an interview buddy if you can. It’s so helpful having some semblance of something simulating the real thing vs. staying purely in the realm of study. Social accountability is also extremely powerful.
  • To further stay motivated, remember that mastering DSA for a Big Tech interview is one of the highest ROI activities any human being can do:
    • A couple months of effort -> Tens of thousands of $ in increased compensation, maybe even $100k+
    • After working for Big Tech, you will never have to apply online or cold message. Every company will come to you.
    • You learn from the absolute best working for Big Tech. Your growth will be put into hyperdrive.
  • Turn it into a habit like exercise. DSA is not meant to be done in giant bursts.
  • Do not cram! Relax before the interview instead. It is crucial that your mental state is nimble going into DSA rounds.
  • Don’t view the opportunity as make or break. Treat it as much as any other day; Alex views all his interviews as just a chance to chat with some cool tech people. The less you care about the interview, the less stressed out you are.

Preparation

  • Just buy Leetcode Premium - We all love to save money, but Leetcode Premium is a no brainer if you are interviewing with any big company. Even if it only increases your chances of getting an offer by 5%, that’s a 5% higher chance for a job paying 100k+.
  • What to expect:
  • Phone screen: Leetcode easy and medium
  • Onsite: Leetcode medium and hard
  • Glassdoor is an extremely valuable resource with Big Tech as its usefulness scales with company size. If you see a question that’s been recorded twice for your position, know how to solve it.
  • If possible, use a compact, efficient language like Python/JavaScript since time control is crucial during DSA rounds. Avoid very verbose languages like C/C++.
  • You are looking to learn patterns, not individual solutions. 80%+ of DSA problems fall within ~15 different core patterns. Don’t try to memorize individual solutions for everything; that is not scalable. You will also have to memorize some solutions for the really tricky hards; if you’re memorizing for easy/medium as well, you will quickly run out of brain space.
  • Extensively write comments on the problems you solve; in particular, try to capture the key to the problem (e.g. sort the list and then use sliding window). You want to be able to convert keys to problems into all the code needed for the solution vs. remembering the code itself.

Communication

  • The bigger the company, the more soft skills are valued. In particular, great communication skills are crucial.
  • With Big Tech, it isn’t only about the right answer. It’s also about how you got to that answer (i.e. how well did you communicate with the interviewer).
  • Interview process at Big Tech is streamlined and efficient. Interviewer is trained to get as much good signal from the candidate as possible. This means they want to collaborate with you. Relationship is bidirectional (you work together with interviewer) instead of unidirectional (you quietly solve the problem on your own and are then judged afterwards)
  • Listen carefully to what the interviewer says. They may be trying to help you, especially when you have tunnel vision.
  • 5 min+ of silence = bad. Don’t just write code in silence, especially as the language you’re using may not be the primary language of the interviewer.

Process

  1. Ask questions to clarify the scope of the problem
  2. Explain your overall approach to the problem
    1. Done is better than perfect - You will often not get the optimal solution off the bat. It’s better to have a working sub-optimal solution vs. a half-finished “optimal” solution that doesn’t even compile yet
    2. If you don’t get any red flags from the interviewer, proceed
  3. Start writing code
    1. Solve for the core of the problem first, which is often the hardest part
    2. Many candidates tackle the trivial portions first (e.g. write a utility method to convert an array of chars into a string), because they’re comfortable. These portions often aren’t even required by the interviewer and give low signal.
    3. Adding on to the above point, ask if you can “hand-wave” pieces away. Utility functions can often be saved from this. Every saved minute counts!
    4. Watch out for tunnel vision! Check every 5 minutes to see if the path you’re going down doesn’t feel right (you just can’t seem to get it to work). If you’re going to pivot, do it ASAP!
  4. Solution
    1. Understand where your solution’s shortcomings are, whether it’s in performance or code structure
    2. Don’t forget about space complexity
    3. Understand how to come up with good test cases (i.e. extreme/wonky inputs)

Have a great weekend!

Rahul and Alex