Cracking the coding interview - study group, East Bay

User avatar
Сабина
Уже с Приветом
Posts: 19045
Joined: 11 Jan 2012 09:25
Location: CA

Cracking the coding interview - study group, East Bay

Post by Сабина »

Пока у нас 2 человека точно и еще два под вопросом. Всего мест на 6-ро. Язык - Java, кому интересно -пишите
Is anybody here interested in doing study group based on "Cracking the coding interview"?
I thought of the following format:
- get together once a week for 2 hours: evenings or weekend
- each participant will prepare to do white boarding for 4 problems in the book
- go over those problems together ( 30 minutes each) with one randomly selected participant presenting at white board
- groups can be based on prоgramming language
- as far as location it can be library, coffee shop, if East Bay works can be at my place ( for java)
- I am hoping to find those who work for Google, Apple or FB to be a pretend "interviewer", no luck so far, but if I do, there might be a fee to compensate 2 hours of their time.
If interested please message me
https://www.youtube.com/watch?v=wOwblaKmyVw
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Cracking the coding interview - study group, East Bay

Post by АццкоМото »

Даже для неунылой групповушки маловато будет.

Но я хочу туда, жаль далеко. Посмотреть на людей, неспособных освоить CTCI самостоятельно это прайслесс
Мат на форуме запрещен, блдж!
User avatar
Sergunka
Уже с Приветом
Posts: 34212
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Cracking the coding interview - study group, East Bay

Post by Sergunka »

Сабина,

вот зря ты не пришла на пикник... там как раз люди рассказывали про свой опыт прохождения в тройку.

Меня приколол этот вопрос
Count the number of possible Binary Search Trees with n keys
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5665
Joined: 15 Aug 2008 00:52

Re: Cracking the coding interview - study group, East Bay

Post by Alexander Troyansky »

АццкоМото wrote: 10 May 2017 02:23 Даже для неунылой групповушки маловато будет.

Но я хочу туда, жаль далеко. Посмотреть на людей, неспособных освоить CTCI самостоятельно это прайслесс
Для mock-interview вроде как нужно минимум два человека. Зато в списке отсутствует "рассмотрение лажовых примеров решений". Листал я ту книженцию, так вот пара решений мне показались весьма сомнительными.
I would hope that a wise white man with the richness of his experiences would more often than not reach a better conclusion than a latina female who hasn't lived that life
blak_box
Уже с Приветом
Posts: 502
Joined: 07 Jun 2002 18:41

Re: Cracking the coding interview - study group, East Bay

Post by blak_box »

Sergunka wrote: 10 May 2017 02:36 Меня приколол этот вопрос
Count the number of possible Binary Search Trees with n keys
Сбалансированых? Или в развернутое в линейку тожа как search считается? Слово Search предполагает логарифмическое время поиска.
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Cracking the coding interview - study group, East Bay

Post by АццкоМото »

Alexander Troyansky wrote: 10 May 2017 16:47
АццкоМото wrote: 10 May 2017 02:23 Даже для неунылой групповушки маловато будет.

Но я хочу туда, жаль далеко. Посмотреть на людей, неспособных освоить CTCI самостоятельно это прайслесс
Для mock-interview вроде как нужно минимум два человека. Зато в списке отсутствует "рассмотрение лажовых примеров решений". Листал я ту книженцию, так вот пара решений мне показались весьма сомнительными.
А не помните, какие решения показались сомнительными? И ещё, а нафига два человека для мок-интервью, если в топовых компаниях интервью всегда один на один, просто несколько сессий подряд?
Мат на форуме запрещен, блдж!
User avatar
Think_Different
Уже с Приветом
Posts: 4864
Joined: 21 Oct 2016 14:32
Location: NYC

Re: Cracking the coding interview - study group, East Bay

Post by Think_Different »

let showing off begin :D
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5665
Joined: 15 Aug 2008 00:52

Re: Cracking the coding interview - study group, East Bay

Post by Alexander Troyansky »

Think_Different wrote: 10 May 2017 17:25 let showing off begin :D
вы топиком ошиблись. Обычно этим занимаются в "похвастаемся своими тренировками" с приседаниям-становыми
I would hope that a wise white man with the richness of his experiences would more often than not reach a better conclusion than a latina female who hasn't lived that life
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5665
Joined: 15 Aug 2008 00:52

Re: Cracking the coding interview - study group, East Bay

Post by Alexander Troyansky »

АццкоМото wrote: 10 May 2017 17:13
Alexander Troyansky wrote: 10 May 2017 16:47
АццкоМото wrote: 10 May 2017 02:23 Даже для неунылой групповушки маловато будет.

Но я хочу туда, жаль далеко. Посмотреть на людей, неспособных освоить CTCI самостоятельно это прайслесс
Для mock-interview вроде как нужно минимум два человека. Зато в списке отсутствует "рассмотрение лажовых примеров решений". Листал я ту книженцию, так вот пара решений мне показались весьма сомнительными.
А не помните, какие решения показались сомнительными?
посмотрю сегодня позже.
И ещё, а нафига два человека для мок-интервью, если в топовых компаниях интервью всегда один на один, просто несколько сессий подряд?
имел в виду: один - кандидат, другой - собеседующий
I would hope that a wise white man with the richness of his experiences would more often than not reach a better conclusion than a latina female who hasn't lived that life
8K
Уже с Приветом
Posts: 5540
Joined: 20 Mar 2001 10:01
Location: SFBA

Re: Cracking the coding interview - study group, East Bay

Post by 8K »

blak_box wrote: 10 May 2017 16:53Слово Search предполагает логарифмическое время поиска.
Не предполагает.
Увидев друга, Портос вскрикнул от радости...
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Cracking the coding interview - study group, East Bay

Post by АццкоМото »

Alexander Troyansky wrote: 10 May 2017 18:04 имел в виду: один - кандидат, другой - собеседующий
Аааа, понял, перезарядил ;)
Мат на форуме запрещен, блдж!
User avatar
Sergunka
Уже с Приветом
Posts: 34212
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Cracking the coding interview - study group, East Bay

Post by Sergunka »

blak_box wrote: 10 May 2017 16:53
Sergunka wrote: 10 May 2017 02:36 Меня приколол этот вопрос
Count the number of possible Binary Search Trees with n keys
Сбалансированых? Или в развернутое в линейку тожа как search считается? Слово Search предполагает логарифмическое время поиска.
Слово possible переводится на русской язык как все возможные, т.е. Вам прийдется начать с пустого множества, потом добавить одну вершину и так далее до n.
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Think_Different
Уже с Приветом
Posts: 4864
Joined: 21 Oct 2016 14:32
Location: NYC

Re: Cracking the coding interview - study group, East Bay

Post by Think_Different »

Alexander Troyansky wrote: 10 May 2017 18:01
Think_Different wrote: 10 May 2017 17:25 let showing off begin :D
вы топиком ошиблись. Обычно этим занимаются в "похвастаемся своими тренировками" с приседаниям-становыми
неа, не ошибся 8)
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Cracking the coding interview - study group, East Bay

Post by АццкоМото »

Sergunka wrote: 10 May 2017 18:42
blak_box wrote: 10 May 2017 16:53
Sergunka wrote: 10 May 2017 02:36 Меня приколол этот вопрос
Count the number of possible Binary Search Trees with n keys
Сбалансированых? Или в развернутое в линейку тожа как search считается? Слово Search предполагает логарифмическое время поиска.
Слово possible переводится на русской язык как все возможные, т.е. Вам прийдется начать с пустого множества, потом добавить одну вершину и так далее до n.
Что-то мне кажется, что либо я туплю, либо условие задачи неполное.
Предположим, n=3
Вариант 1: all the keys are equal
Вариант 2: all the keys are unique

Очевидно, вариантов BST разное количество
Мат на форуме запрещен, блдж!
Mmodel
Уже с Приветом
Posts: 8193
Joined: 27 Mar 2016 23:56

Re: Cracking the coding interview - study group, East Bay

Post by Mmodel »

а можно спросить чем Java толком отличается от Node.js, всмысле почему её используют.
Main reason floating points numbers for financial operations?
Mmodel
Уже с Приветом
Posts: 8193
Joined: 27 Mar 2016 23:56

Re: Cracking the coding interview - study group, East Bay

Post by Mmodel »

partner_ca wrote: 10 May 2017 19:08
Mmodel wrote: 10 May 2017 19:05 а можно спросить чем Java толком отличается от Node.js, всмысле почему её используют.
Main reason floating points numbers for financial operations?
LOL. Node.js - это JavaScript run time.
С джавой у них общее только слово Java в названии.
я такого не говорил
User avatar
M. Ridcully
Уже с Приветом
Posts: 12003
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Cracking the coding interview - study group, East Bay

Post by M. Ridcully »

АццкоМото wrote: 10 May 2017 18:56 Что-то мне кажется, что либо я туплю, либо условие задачи неполное.
Предположим, n=3
Вариант 1: all the keys are equal
Вариант 2: all the keys are unique

Очевидно, вариантов BST разное количество
Binary _search_ tree => keys are distinct?
Mmodel
Уже с Приветом
Posts: 8193
Joined: 27 Mar 2016 23:56

Re: Cracking the coding interview - study group, East Bay

Post by Mmodel »

Меня один раз подаесили на интнвью то что в java есть queue, а в JS нет.
И там какойто ещё dock есть
User avatar
M. Ridcully
Уже с Приветом
Posts: 12003
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Cracking the coding interview - study group, East Bay

Post by M. Ridcully »

M. Ridcully wrote: 10 May 2017 19:20
АццкоМото wrote: 10 May 2017 18:56 Что-то мне кажется, что либо я туплю, либо условие задачи неполное.
Предположим, n=3
Вариант 1: all the keys are equal
Вариант 2: all the keys are unique

Очевидно, вариантов BST разное количество
Binary _search_ tree => keys are distinct?
Вот так можно написать, чтобы понятней было:

Code: Select all

int num_bst(int n_keys) {
    assert(n_keys >= 0);
    if (n_keys == 0 || n_keys == 1) {
        return 1;
    }
    int n = 0;
    for (int n_left = 0; n_left < n_keys; n_left++) {
        int n_right = n_keys - 1 - n_left;
        n += num_bst(n_left) * num_bst(n_right);
    }
    return n;
}
А чтобы быстро работало - нужно итеративно заполнить массив от 0 до n_keys, чтобы num_bst(n) считалось всего один раз для кажлого n - классическое динамическое программирование.
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Cracking the coding interview - study group, East Bay

Post by АццкоМото »

M. Ridcully wrote: 10 May 2017 19:20
АццкоМото wrote: 10 May 2017 18:56 Что-то мне кажется, что либо я туплю, либо условие задачи неполное.
Предположим, n=3
Вариант 1: all the keys are equal
Вариант 2: all the keys are unique

Очевидно, вариантов BST разное количество
Binary _search_ tree => keys are distinct?
Ну кагбэ в большинстве случаев, наверное, да. Но я не уверен, что это так по определению. Хотя может быть вы и правы.

Есть ещё подсознательное ощущение, которое я не могу пока формально объяснить/обосновать, что количество комбинаций различно в зависимости от набора ключей, даже если они все уникальные. Грубо говоря, если ключи целые, то между 2 и 4 можно воткнуть только 3. А между 200 и 300 - чуть больше, чем дофига. Да, это дерево и тут нет "между". Но чуйка говорит, что похожий паттерн есть и тут.
Мат на форуме запрещен, блдж!
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Cracking the coding interview - study group, East Bay

Post by АццкоМото »

M. Ridcully wrote: 10 May 2017 19:38
M. Ridcully wrote: 10 May 2017 19:20
АццкоМото wrote: 10 May 2017 18:56 Что-то мне кажется, что либо я туплю, либо условие задачи неполное.
Предположим, n=3
Вариант 1: all the keys are equal
Вариант 2: all the keys are unique

Очевидно, вариантов BST разное количество
Binary _search_ tree => keys are distinct?
Вот так можно написать, чтобы понятней было:

Code: Select all

int num_bst(int n_keys) {
    assert(n_keys >= 0);
    if (n_keys == 0 || n_keys == 1) {
        return 1;
    }
    int n = 0;
    for (int n_left = 0; n_left < n_keys; n_left++) {
        int n_right = n_keys - 1 - n_left;
        n += num_bst(n_left) * num_bst(n_right);
    }
    return n;
}
А чтобы быстро работало - нужно итеративно заполнить массив от 0 до n_keys, чтобы num_bst(n) считалось всего один раз для кажлого n - классическое динамическое программирование.
Чота не знаю... Наверное, я сегодня тупой. Вроде и логика понятна, но интуитивно кажется неверной.

В любом случае, спасибо, есть над чем подумать
Мат на форуме запрещен, блдж!
Andriy777
Уже с Приветом
Posts: 1575
Joined: 28 Jan 2002 10:01

Re: Cracking the coding interview - study group, East Bay

Post by Andriy777 »

АццкоМото wrote: 10 May 2017 19:44
M. Ridcully wrote: 10 May 2017 19:38
M. Ridcully wrote: 10 May 2017 19:20
АццкоМото wrote: 10 May 2017 18:56 Что-то мне кажется, что либо я туплю, либо условие задачи неполное.
Предположим, n=3
Вариант 1: all the keys are equal
Вариант 2: all the keys are unique

Очевидно, вариантов BST разное количество
Binary _search_ tree => keys are distinct?
Вот так можно написать, чтобы понятней было:

Code: Select all

int num_bst(int n_keys) {
    assert(n_keys >= 0);
    if (n_keys == 0 || n_keys == 1) {
        return 1;
    }
    int n = 0;
    for (int n_left = 0; n_left < n_keys; n_left++) {
        int n_right = n_keys - 1 - n_left;
        n += num_bst(n_left) * num_bst(n_right);
    }
    return n;
}
А чтобы быстро работало - нужно итеративно заполнить массив от 0 до n_keys, чтобы num_bst(n) считалось всего один раз для кажлого n - классическое динамическое программирование.
Чота не знаю... Наверное, я сегодня тупой. Вроде и логика понятна, но интуитивно кажется неверной.

В любом случае, спасибо, есть над чем подумать
Интересно также, что интервьюер принимает как "проходной бал".

а) Интересные мысли на доске от человека, который в первый раз думает над такой проблемой (включая, а нафига это надо и почему оценка "дофига" не достаточна).

б) Человек математик, знает про числа Каталана и как это все доказать.

в) Человек читал недавно (давно) и просто знает ответ.

г) Отвечает "да ну его нафиг эту комбинаторику" и пишет код, как показан выше.

Анекдот в тему. На границе США офицер О опрашивает приезжего P.

O: So you are arriving on H1-B visa as a software engineer, right?

P: Yes, sir.

O: Can you tell me how many edges are in a tree with N nodes?

P: Can I use StackOverflow.com?

O: Welcome to the United States!
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Cracking the coding interview - study group, East Bay

Post by АццкоМото »

Andriy777 wrote: 10 May 2017 23:28
АццкоМото wrote: 10 May 2017 19:44
M. Ridcully wrote: 10 May 2017 19:38
M. Ridcully wrote: 10 May 2017 19:20
АццкоМото wrote: 10 May 2017 18:56 Что-то мне кажется, что либо я туплю, либо условие задачи неполное.
Предположим, n=3
Вариант 1: all the keys are equal
Вариант 2: all the keys are unique

Очевидно, вариантов BST разное количество
Binary _search_ tree => keys are distinct?
Вот так можно написать, чтобы понятней было:

Code: Select all

int num_bst(int n_keys) {
    assert(n_keys >= 0);
    if (n_keys == 0 || n_keys == 1) {
        return 1;
    }
    int n = 0;
    for (int n_left = 0; n_left < n_keys; n_left++) {
        int n_right = n_keys - 1 - n_left;
        n += num_bst(n_left) * num_bst(n_right);
    }
    return n;
}
А чтобы быстро работало - нужно итеративно заполнить массив от 0 до n_keys, чтобы num_bst(n) считалось всего один раз для кажлого n - классическое динамическое программирование.
Чота не знаю... Наверное, я сегодня тупой. Вроде и логика понятна, но интуитивно кажется неверной.

В любом случае, спасибо, есть над чем подумать
Интересно также, что интервьюер принимает как "проходной бал".

а) Интересные мысли на доске от человека, который в первый раз думает над такой проблемой (включая, а нафига это надо и почему оценка "дофига" не достаточна).

б) Человек математик, знает про числа Каталана и как это все доказать.

в) Человек читал недавно (давно) и просто знает ответ.

г) Отвечает "да ну его нафиг эту комбинаторику" и пишет код, как показан выше.

Анекдот в тему. На границе США офицер О опрашивает приезжего P.

O: So you are arriving on H1-B visa as a software engineer, right?

P: Yes, sir.

O: Can you tell me how many edges are in a tree with N nodes?

P: Can I use StackOverflow.com?

O: Welcome to the United States!
Честно говоря, я не уверен, что понял, что вы имели в виду. Но так кажется релевантным. Я как-то спрашивал на интервью молодого американца, как узнать, есть ли цикл в односвязном списке. Заранее абиснил, что если не знаешь ответа, то вряд ли допетришь сам, в рамках интервью как минимум. Он честно сказал, что ответ просто знает. Я секунд через 15 прервал его, было очевидно, что реально знает.

Глупость? Может быть. Но лично мне сказало о многом
Мат на форуме запрещен, блдж!
Andriy777
Уже с Приветом
Posts: 1575
Joined: 28 Jan 2002 10:01

Re: Cracking the coding interview - study group, East Bay

Post by Andriy777 »

Сабина wrote: 10 May 2017 00:22 Пока у нас 2 человека точно и еще два под вопросом. Всего мест на 6-ро. Язык - Java, кому интересно -пишите
Это не эквивалентно.... но... вы уже пытались использовать https://leetcode.com/? Я не ищу работу, но раз в неделю решаю одну из задач там. Особенности.

1. Не надо ни с кем синхронизоваться, договариваться и пр. Собраться вместе на 2 часа - это в общем потратить 3 часа и больше. С сайтом я могу начать решать в субботу утром, зависнуть, пойти погулять, надумать решение и написать в воскресенье. То есть я меньше искушен бросить через 20 мин и полезть в интернет (спросить партнера), а продолжать думать. Нейронные сети в мозге строятся именно когда продолжаешь долго думать.

2. Они могут смоделировать интервью для вас.

3. Компьютер не обманешь. Решение проверяется на корректность и приемлемую скорость. Иногда мне реально лень сочинять тесты, но легко использовать их как тест машину определенной идеи.

4. Я в принципе верю только в то, что на доске за 30 мин можно написать код, который просто знаешь либо все просто и додумался. По причине того что писанина идет сверху вниз. Любое решение, где надо думать приходится решать в несколько итераций. Часто с написанием и добиванием в отладчике. Плюс экспериментами как побить по скорости решение соседа (с leetcode). А, значит, я просто могу решать задачи на компе, пусть сайт проверяет, а во время интервью мне либо попадется то, что я могу написать сверху-вниз, либо не попадется, но интервьюер будет адекватный, либо "значит такова судьба".

Return to “Работа и Карьера в IT”