Skip to content

koddo/coding-interviews-prep-msk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

https://meetup.com/coding-interviews-prep-msk/

Our telegram chat: https://t.me/coding_interviews_prep_msk

Preparing for coding interviews together, in English

a binary tree logo

Essentially this is an English speaking club, but with solving coding problems. Our meetings have no structure so far, we just use Leetcode, Hackerrank, and the "Cracking the Coding Interview" book. That simple. We'll get more organized a bit later.

We are a friendly community, but If you'd like we could simulate a real-world whiteboard interview, including:

  • Judgemental stares at you for minor typos and missing semicolons
  • Condescending remarks about your answers
  • Asking you impossibly hard questions and pretending we didn't have to decipher available solutions for two days beforehand

Joking, don't be stressed too much. Just say hello, introduce yourself, and start geeking out.

The meetup itself is free, but we meet at the Kocherga anticafe in Moscow (https://kocherga-club.ru/), which means each of us pays for the time spent there: 2.5 rubles per minute, it's 150 rubles per hour. They have free coffee and cookies though, and a wonderful nerdy atmosphere, you'll love it I promise. And they have VR btw.

Table of contents

Your homework

  1. Sign up to https://www.hackerrank.com/ and https://www.leetcode.com/ to be ready to solve coding problems on these sites
  2. Actually solve a couple of entry level problems to get comfortable with the interface
  3. Install a dictionary on your phone and don't hesitate to use it

Target language

You can also focus on practicing in your target language first. For example:

To-do list

TODO: a list of good online courses

TODO: a list of algorithms theory and data structures topics, so we can rotate them every arbitrary period of time, e.g., a month or two: https://www.geeksforgeeks.org/top-10-algorithms-in-interview-questions/

TODO: code of conduct

Coding problems websites

Our main resource:

Btw, we have a paper copy of the "Cracking the Coding Interview" book at Kocherga, here are the repos with solutions:

Misc:

Problems catalogued by company:

Free online mock interviews:

Functional programming problems:

Data science problems and questions:

Paid code reviews (?):

Phone interview questions:

System design:

An interesting question that used to be popular a decade ago:

Soft skills questions:

Resume writing:

Another coding interviews group: https://github.com/noisebridge/nb_whiteboarding

And if you're tired of leetcode, here's a list of companies for you:

A presentation on code retreats, in Russian: https://www.youtube.com/watch?v=9SWTNsKj0ms

Vocabulary





  • also, /ˈɔːlsəʊ/, not /ˈɛ:lsəʊ/ — see also almost, already, altogether
  • arbitrary, /ˈɑːbɪt(rə)ri/

Plans for upcoming meetings

Log of our activity

2020-02-09

https://leetcode.com/problems/isomorphic-strings/

2020-02-02

We were designing a mobile game similar to scramble, but with relaxed rules, where words could be written in any snakey shape without self-intersections. Finding the words on the grid and planning what letters to put is challenging.
https://leetcode.com/problems/implement-trie-prefix-tree/

2020-01-19

We discussed how persistent datastructures work.
https://leetcode.com/problems/snapshot-array/

2020-01-12

First meeting in new year, we lazily discussed broken processes at work.

2019-12-29

How to implement a generator that prints all polynomials? Alex came up with this problem.

2019-12-22

https://leetcode.com/problems/search-in-rotated-sorted-array/
https://leetcode.com/problems/symmetric-tree/
https://leetcode.com/problems/remove-duplicate-letters/

2019-12-15

We discussed SVD and how it's not used in recommender systems. There are SVD-inspired algorithms like Funk-SVD.

2019-12-01

We were solving problems from a number of real interviews at yandex.

2019-11-24

https://leetcode.com/problems/house-robber/
https://leetcode.com/problems/jump-game/

2019-11-17

https://leetcode.com/problems/non-decreasing-array/
https://leetcode.com/problems/longest-substring-without-repeating-characters/
https://leetcode.com/problems/maximum-subarray/
https://leetcode.com/problems/binary-tree-maximum-path-sum/
https://leetcode.com/problems/reveal-cards-in-increasing-order/

2019-11-10

https://www.geeksforgeeks.org/c-program-for-tower-of-hanoi/
https://leetcode.com/problems/flood-fill/
https://leetcode.com/problems/delete-nodes-and-return-forest/

2019-11-03

https://leetcode.com/problems/count-of-smaller-numbers-after-self/
https://leetcode.com/problems/happy-number/

2019-10-27

https://leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/

2019-10-20

We found another water trapping problem: https://leetcode.com/problems/container-with-most-water/

CTCI 17.24: max submatrix: given an NxN matrix of positive and negative integers, write code to find the submatrix with the largest possible sum.

2019-10-13

We gave old problems to newcomers and just hung out discussing random topics including gradient descent, react, soft skills, annoyance of the SettingWithCopyWarning and it's false negatives.

2019-10-06

We had many newcomers, so we had a lot of conversations and mostly solved old problems. My unsolicited advice to students is to not work during first two years of education.

2019-09-29

We had a short an unexciting conversation about running processes as root in docker containers.

We started with trapping-rain-water and shuffle-an-array once again with new participants. Then solved a number of easy problems including:

https://leetcode.com/problems/valid-anagram/
https://leetcode.com/problems/sum-of-two-integers/
https://leetcode.com/problems/pascals-triangle/

2019-09-22

We discussed how decision trees, random forests, feature importance work. And solved some problems from past meetings.

2019-09-15

Discussed streams in java 8, decision trees for regression, and other random topics.

CTCI 16.23:

Rand7 from Rand5: Implement a method rand7() given rand5(). That is, given a method that generates a random number between 0 and 4 (inclusive), write a method that generates a random number between 0 and 6 (inclusive).

Tried to decipher this problem for analytics position:

Calculate subscription to refund conversion rate with a 1 day conversion window applied. Group by subscription date and apply 7 days rolling average.

https://leetcode.com/problems/word-ladder/

2019-09-08

We decided to start with an easy problem we had last time, namely is-subsequence, and Kate confused it with the is-substring and implemented the Knuth–Morris–Pratt algorithm right away.

Meanwhile we had a discussion about a product analytics job interview. And unrelated topics.

https://leetcode.com/problems/shuffle-an-array/

Homework: https://leetcode.com/problems/word-ladder/

2019-09-01

We can't have enough of the trapping-rain-water problem. We discussed both quadratic and linear time solutions after introducing it to newcomers.

https://leetcode.com/problems/surface-area-of-3d-shapes/
https://leetcode.com/problems/is-subsequence/

We briefly discussed normal forms. And tried to start a conversation about the REST architecture at the very end, but it's a huge topic, and everyone has different perspectives.

2019-08-25

https://leetcode.com/problems/subarray-sum-equals-k/

Talked about a friend of a friend who had enough discipline to get thoroughly prepared for the google interview process and now works at the headquoters in Switzerland.

2019-08-18

https://www.geeksforgeeks.org/maximum-difference-between-two-elements/

A discussion of the Big O notation. And a small group of people showed off their knowledge of haskell and monads to each other.

2019-08-11

Turns out the trapping-rain-water problem is not as easy as it seems. Most of us managed to write a bad non-linear solution, but there's a good one: solutions/trapping-rain-water.clj.

A group of people discussed the following big question: how does pagination work? How to implement it with and without sql? Why offset+limit is slow and what to use instead? Spoiler: keyset pagination.

2019-08-04

https://leetcode.com/problems/two-sum/
https://leetcode.com/problems/single-number/, https://leetcode.com/problems/single-number-ii/
https://leetcode.com/problems/trapping-rain-water/

2019-07-28

We spent most of the time introducing ourselves and talking. Then a group of people started helping a newbie with python, and others opened the season with solving the following:

https://leetcode.com/problems/reverse-words-in-a-string/ — the in-place variant
https://leetcode.com/problems/next-permutation/

Attributions

The logo

https://commons.wikimedia.org/wiki/File:Complete_binary.svg by Theresa Migler-VonDollen, licensed under CC-BY-SA-4.0