I am new to Python , but have to learn it for interviews. I have experience in shell scripting but no FAANG accepts coding interviews in shell.

So every question I have to go over each of the algoexpert conceptual videos (takes 45- 1 hour to understand) and then write them down on paper to gain confidence, later on the laptop without looking. But it is taking a good 2 hours for every question.

Not sure how am I going to solve a lot of LC qns like others doing with interviews scheduled in a few weeks' time. I already bombed one hackerrank test due to lack of this experience.

I have a full-time role and a lot of visibility at work, so it doesn't allow me to coast. YOE:14

Any other strategy you guys can suggest to get LC expertise faster than my current rate?

  • 3
    Wouldn't it make more sense to actually try and learn python? I mean what these companies are looking for is probably people who can make it rather than just fake it... – Laurent S. May 22 at 12:51
  • 1
    what does YOE:14 mean? – Player One May 22 at 13:02
  • LaurentS. Yes i am actually learning, I am not faking it. – Krish Singh May 22 at 13:03
  • 2
    Solving coding challenges involves two skills: 1) recognising the right algorithm to use for the problem 2) writing that algorithm in code. Part 1 is the hard bit, Part 2 should be taking you less than 20% of the time, and shouldn't vary very much whether you're using the language you're most experienced with, a language you're not experienced with or even a toy language you've never seen before. Stop worrying about Python and brush up on your computer science fundamentals - if you can solve the problem in shell, you can solve it in Python. – Philip Kendall May 22 at 13:15
  • 3
    As a FAANG interviewer, we do accept shell, but for the right problems. Just like any language, knowing which kind of problems to use it for and which not to is part of what you're being judged on, of course. – Chris Down May 22 at 18:10

I assume you've already decided you're aiming for a company using these sorts of problems, you have a limited amount of time to practice, and you want to make the most of it. A no-nonsense, practical answer: single best thing you can do is get Leetcode premium subscription.

This solves three problems for you:

  1. You have access to reasonably well curated answers, often with alternative solutions, right next to the problems you solve. This saves you time on doing your own research and is definitely more efficient than watching videos. Go back to those for problems you can't wrap your head around and really need to put some extra effort into,
  2. You have access to Top 100 questions lists for different companies. Following those is a good way to keep yourself looking at high frequency, common questions, so you'll be covering useful material rather than going deep into some off-tangent topic,
  3. You have access to mock interview sets, which will choose problems to solve for you. That's important since you will inevitably develop some sort of bias in what problems you look at, either picking things you know how to solve, or picking things you're most concerned about and neglecting other kinds of problems.

After that it's just about putting in the time and effort to practice. Don't wait with mock interviews too long as they tend to uncover blind spots quite effectively. Furthermore, try to write down the complete solution, don't depend on write-compile-fix cycle too much - many companies use whiteboards or scratchpads that don't come with a compiler, and you'll need to be comfortable in solving these problems without that support.

  • Would you please let us know if the "Leetcode Premium Subscription" provides the video explanations for all or the majority of the problems ? I am not sure how many video explanations they have. I know that they have more than 1700 coding practice problems... Thanks. – Job_September_2020 May 23 at 23:11
  • 1
    No, they don't have videos afaik. Just written explanations. – scrwtp May 24 at 8:37

The leetcode test isn't the final verdict. They aren't supposed to be challenging Rather, it's an easy way to filter out the totally imcompetent candidates, and if you pass it, the real reviews can begin.

  1. Learn Python. Take the Python tutorial, read through it and play around with the examples until you're confident that you understand how they work. For just interviewing you don't need to know libraries, because you'll be implementing the exercises on your own. For actual work knowing the standard library and most common third party libraries and knowing how to search for libraries is important. But so is being able to implement your own if the thing you need isn't available.

  2. Learn computer science. Take any intro level university algorithms textbook or online course, and do the exercises in Python. This is the crucial part: you need to be able to apply what you just read, and this needs practice. As you already noticed, when compared to text videos are a huge waste of time.

  • 3
    To pass coding tests, learn to code. – mxyzplk May 22 at 15:26

Not the answer you're looking for? Browse other questions tagged .