ADJA's blog

By ADJA, history, 5 years ago, In English

Hello, Codeforces

Here is something I've been working on for a while now. It's still in beta, but I think it's in a good shape to share. I think it's relevant to CF community, but if not, sorry for the spam :)

I am an ex-Google software engineer, and I wrote down almost everything I know about interview preparation, and launched a small website. It is something of a preparation course and guide at the same time.

Here is what's inside:

  • 40+ articles about everything from resume to algorithms to compensation.
  • Selected leetcode problems with hints, solutions and such.
  • Code examples and explanations of common algorithms and techniques.
  • A place where you can track your interview preparation progress.

Please take a look and let me know what you think. Hopefully, you will find it useful in your own preparation!

Link: https://interviews.school/

P.S. I would appreciate any feedback. Feel free to point to any errors you will find. And what else can I add?
P.P.S I think some articles there will be relevant to people learning competitive programming as well. For example, you can check out articles on sorting, dynamic programming, heaps, and graphs.

  • Vote: I like it
  • +138
  • Vote: I do not like it

| Write comment?
»
5 years ago, # |
  Vote: I like it +5 Vote: I do not like it

Looks Nice.

»
5 years ago, # |
  Vote: I like it +2 Vote: I do not like it

There are lots of interview preparation websites, but the total number of problems on sql and oops is very few. So someone who is weak in these topics doesn't have much option to practice. It would be great if you could have similar types of problems on your website (if possible). sql may include given description write query which is verified against testcases, while oops may require given class and method definition, implement the same and then the implementation to be tested against hidden test to verify if user has achieved the required functionality.

  • »
    »
    5 years ago, # ^ |
      Vote: I like it +7 Vote: I do not like it

    Hackerrank has ample amount of problems on sql.

    • »
      »
      »
      5 years ago, # ^ |
      Rev. 3   Vote: I like it +2 Vote: I do not like it

      I could count only 58 questions including very basic and standard 'hello world types' as well. Please let my know if I missed something ?

      • »
        »
        »
        »
        5 years ago, # ^ |
        Rev. 2   Vote: I like it +4 Vote: I do not like it

        Which hackerrank are you using bruh, there are problems from easy to medium and hard level and not only "hello world types" and i think they are more than enough for interview preparation(other than theortical DBMS).

  • »
    »
    5 years ago, # ^ |
      Vote: I like it +5 Vote: I do not like it

    Leetcode has some SQL problems: https://leetcode.com/problemset/database/

    In terms of OOP it's hard to really check it (I would suggest reviewing common patterns), and Leetcode problems under the following tag seem relevant: https://leetcode.com/tag/design/

    • »
      »
      »
      5 years ago, # ^ |
      Rev. 2   Vote: I like it 0 Vote: I do not like it

      Sir, 90% of the leetcode sql are locked for premium members, and I don't know about others, but for me personally, it is too costly. Regarding the design problem, it is good, but more focused towards dsa. I have hardly seen any design problem that exposes me a class, and asks to build another class inheriting from it and having given methods and parameters ? Questions like these require understanding of oops, while those in design tags rather are just solving dsa with a little to no oops involved at all.

      • »
        »
        »
        »
        5 years ago, # ^ |
          Vote: I like it +1 Vote: I do not like it

        Well, most of OOP skills come from the experience I guess.

        Try to implement your own classes with inheritance/interfaces? Or read a good book like Effective Java.

        You can also try to implement a small project. For example backend of a coffee shop or social network – you can use fake/mock databases, frontend and stuff for it to be easier.

»
5 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Looks amazingly simple and easy to flow through. Will definitely try to follow the content given. Its not everyday you see a googler share guide us.

»
5 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Thanks for this, but I wanna ask a question that is String not so much important for Interview preparation?

»
5 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Everything is good, but here's one suggestion: move the 'dark mode button' to the rightmost side of the webpage as it is easier to see and also to understand what it actually does.

  • »
    »
    5 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Thanks, I'll keep this in mind. I like the current location and most users seem to be okay with it too, but I can experiment.

»
4 years ago, # |
Rev. 2   Vote: I like it +59 Vote: I do not like it

I completely reworked the website recently, now it looks much better, and I also rewrote most of the articles to make them read better. Also now there are user accounts, and you can track problems and articles you have already completed and see your overall interview preparation progress.

Also, here are some articles that are relevant for the competitive programming. Problems there are from Leetcode and are generally easier than usual CP problems, but are still very good for the beginners to practice particular algorithms and techniques:

  • »
    »
    4 years ago, # ^ |
      Vote: I like it +8 Vote: I do not like it

    This is very helpful. Thank you.

  • »
    »
    4 years ago, # ^ |
      Vote: I like it +8 Vote: I do not like it

    Thanks a lot. I have used your website and it helped a lot.

»
4 years ago, # |
  Vote: I like it +8 Vote: I do not like it

Nice content and website works great as well.

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

I want to suggest one feature...

User shouldn't manually check the mark for solved problems, can you connect it with user's leetcode account so that it automatically checks the problems the user has already solved.

Not a big deal in not adding it.

  • »
    »
    4 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Good suggestion, I thought about it before too. For now it looks not that easy to implement, and not really worth it – after all, clicking one button is not that hard, and you are practicing just for yourself, so there is no incentive for "cheating". But that for suggesting, I will definitely keep this in mind for the future features!

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Nice Initiative and really the problems are well curated. UI is also quite good and easy to read.

I would suggest to add more content on "System Design" and Object oriented design. Also it would be great if the problems can be tagged with the company in which it is asked most.

Thanks

  • »
    »
    4 years ago, # ^ |
      Vote: I like it +5 Vote: I do not like it

    Hi, thanks! Glad that you liked it.

    There is some information about system design here: https://interviews.school/systemdesign, but I maybe will add some more in the future. And maybe I will write more about OOP stuff/problems too, thanks for the suggestion!

    I have no idea which problems are asked most by which company, so it's probably not gonna be implemented. You can see some statistics on this on Leetcode already :)

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Highlighting Feature will add more readability and it will allow to highlight the important keynotes.

  • »
    »
    4 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    What exactly do you mean by this feature? So that users can have their own highlights?

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Yes , it will enable all users to make highlights on notes that they can refer later for quick lookup. Thanks

      • »
        »
        »
        »
        4 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        That's actually interesting idea, thanks! I will keep this in mind for the future.

»
4 years ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

.

»
4 years ago, # |
  Vote: I like it +8 Vote: I do not like it

Great Work !

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Does it have geometry?

  • »
    »
    4 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    No, because interview questions don't have geometry (thanks god).

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Very nice !! Good job

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Where are you working rn ADJA

  • »
    »
    4 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I am actually again at Google right now

»
4 years ago, # |
Rev. 2   Vote: I like it +13 Vote: I do not like it

Skimmed through, some thoughts from my recent interviewing experience that you may consider worth adding. Comments in italic

  • Most big companies (FB, Google, Amazon, Microsoft, others) have different levels for software engineers. Your level (and job location) determines the salary and stock band. You only mention this in passing on negotiation,

  • Generally counter-offers is the best leverage you can get during salary negotiation. Try to start interview loop with 2-3 companies at the same time. Your bank balance will thank you for that. No mention of parallel interviews

  • Depends on company, but usually algorithm/coding interviews are pass/fail. If you pass those, system design and behavioural are the ones that determine your level (and compensation band). No mentions on that.

  • Practice, practice, practice. There's a bunch of sites where you can do online practice interviews paying with either money (interviewing.io, etc.) or your time (pramp). Use those, especially for non-coding interviews as those are harder to practice on your own. Doing 5-10 practice interviews is also a great way to learn to deal with interview anxiety. You mentioned practice, but not places to do it

»
4 years ago, # |
  Vote: I like it +8 Vote: I do not like it

great work

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Great Work, Is it an open-source product? will happy to contribute the C++ part, like some of the code tutorials are JAVA only.

»
3 years ago, # |
  Vote: I like it +4 Vote: I do not like it

Probably a bit late to the party, but i learned a great deal of sql from the formerly known website codefights, now under the name of codesignal. Check the arcade section, there you will find a lot of training problems for sql, python (actually for the normal questions you can pick any language)