Путь в большой тотал 700к+

Falcon
Уже с Приветом
Posts: 775
Joined: 10 May 2003 17:55
Location: Minsk->NJ->PA->CA

Re: Путь в большой тотал 700к+

Post by Falcon »

Krys-Krys wrote: 01 Mar 2020 22:28
Lisa wrote: 01 Mar 2020 21:29 Зачем нужно на скорость писать код? Почему недостаточно просто рассказать идею алгоритма? Ну псевдокод в крайнем случае.
Я так понимаю что многие хорошо рассказывают но ни строчки кода написать не могут.
Именно. Цель проверить насколько свободно человек может выразить свои идеи на языке программирования. Например, хороший копатель ямок выкопает, в лучшем случае, раза в 2 больше чем средний. Также, легко, глядя на кандидата, предсказать кто будет лучше копать. с погромистами так не получается. Приходится просить закодировать что-то. И ещё хороший погромист легко раз в 10 будет производительнее среднего.
Falcon
Уже с Приветом
Posts: 775
Joined: 10 May 2003 17:55
Location: Minsk->NJ->PA->CA

Re: Путь в большой тотал 700к+

Post by Falcon »

ystar wrote: 02 Mar 2020 01:32
так то Иван отчасти прав, про то, что пишут внутри, и такое пишут, что Кнута и Кормена они не читали и близко. Но как то они работают здесь. Аналогично и в остальных ФААНГ.
Всяко бывает. Понятно, что не все внутри строем маршируют в сияющих доспехах и не перечитывают на ночь подборку ACM. В целом, мне кажется, уровень в ФААНГах повыше чем в Рога и Копыта, даже среди джуниоров. А лиды так явно лучше.
voyager3
Уже с Приветом
Posts: 1951
Joined: 11 Mar 2015 01:12

Re: Путь в большой тотал 700к+

Post by voyager3 »

Falcon wrote: 02 Mar 2020 03:09 И ещё хороший погромист легко раз в 10 будет производительнее среднего.
Эти 10 раз означают выполнение более сложной и масштабной работы и наличие собственных идей, а не то, что кто-то программирует в 10 раз быстрее.
Но если в конторе действительно считают скорость написания кода на доске индикатором производительности на работе, то только и остаётся литкод полировать: вы с Кнутом и Корменом решите задачу, еле уложившись в отведённое время, да ещё и не все граничные условия сходу найдёте, а Сринавас и Суньхренвчай напишут её же в 2 раза быстрее быстрее потому, что уже проработали именно эту задачу. Кого возьмут?
User avatar
mikeG
Уже с Приветом
Posts: 8470
Joined: 02 Aug 2003 01:32
Location: SPb->SFBA

Re: Путь в большой тотал 700к+

Post by mikeG »

voyager3 wrote: 02 Mar 2020 03:21 вы с Кнутом и Корменом решите задачу, еле уложившись в отведённое время, да ещё и не все граничные условия сходу найдёте, а Сринавас и Суньхренвчай напишут её же в 2 раза быстрее быстрее потому, что уже проработали именно эту задачу. Кого возьмут?
Среднестатистический сринавас предпочитает руками на митингах водить, а не задачи решать.
Ему в ФААНГ нафиг не нужно - там код придется писать.
ystar
Уже с Приветом
Posts: 1029
Joined: 27 Apr 2014 17:13
Location: USA

Re: Путь в большой тотал 700к+

Post by ystar »

Falcon wrote: 02 Mar 2020 03:19
ystar wrote: 02 Mar 2020 01:32
так то Иван отчасти прав, про то, что пишут внутри, и такое пишут, что Кнута и Кормена они не читали и близко. Но как то они работают здесь. Аналогично и в остальных ФААНГ.
Всяко бывает. Понятно, что не все внутри строем маршируют в сияющих доспехах и не перечитывают на ночь подборку ACM. В целом, мне кажется, уровень в ФААНГах повыше чем в Рога и Копыта, даже среди джуниоров. А лиды так явно лучше.

явно лучше программисты лучше, но вот лиды, пока моих двух лучших лидов в истории, никто близко не подобрался.
ystar
Уже с Приветом
Posts: 1029
Joined: 27 Apr 2014 17:13
Location: USA

Re: Путь в большой тотал 700к+

Post by ystar »

nyekimov wrote: 02 Mar 2020 02:09
ystar wrote: 02 Mar 2020 01:36
Lisa wrote: 01 Mar 2020 21:29 Зачем нужно на скорость писать код? Почему недостаточно просто рассказать идею алгоритма? Ну псевдокод в крайнем случае.
Будучи на прошлом месте работы, я заметил одну вещь, ~80% людей могут рассказать идею алгоритма, псевдокод написать уже может только половина, а метод только 20% хорошо если.

а если нанимать только тех кто может рассказать идею алгоритма, то потом и будет работа: митинг на митинге и митингом погоняет.
хз, часто могу рассказать идею алгоритма, хотя многие вещи с универа не надобились, язык программирования писать не доводилось, чаще всего могу написать псевдокод. например спокойно могу написать мелкое приложение с паттернами и тестами на время, приходилось делать и такое на интервью в Чикаго.
Но вот сейчас я пишу на swift, там сабстринг взять может быть целая эпопея, в обычном процессе я копирую наработки общепринятые для упрощения трехэтажности нативного синтаксиса работы со строкой и вперед. А на интервью могу зависнуть. Митинги не люблю, точней мне нравится, если собираемся по поводу чего то нового и продуктивно обсуждаем хотелки и что мы можем предложить, что надо покурить. И вперед, даже ежедневные стендапы не нужны. Младших сотрудников только приходится пинать или отвечать на их множественные вопросы.

Блин жаль, опять ты не ответишь напрямую, было б интересно услышать, лишен ли гугл проблемы вечных митингов в таком случае.
я ведь не алгоритмы спрашивал, или что-то сложное.

а смотрел по резюме, что человек делал в большинстве своем, и просил написать, что-то совсем простое, типа посимвольно вывести стрингу, или если не было понятно FuzzBuzz написать. ничего такого, что могло занять больше 10 минут.
ystar
Уже с Приветом
Posts: 1029
Joined: 27 Apr 2014 17:13
Location: USA

Re: Путь в большой тотал 700к+

Post by ystar »

voyager3 wrote: 02 Mar 2020 03:21
Falcon wrote: 02 Mar 2020 03:09 И ещё хороший погромист легко раз в 10 будет производительнее среднего.
Эти 10 раз означают выполнение более сложной и масштабной работы и наличие собственных идей, а не то, что кто-то программирует в 10 раз быстрее.
Но если в конторе действительно считают скорость написания кода на доске индикатором производительности на работе, то только и остаётся литкод полировать: вы с Кнутом и Корменом решите задачу, еле уложившись в отведённое время, да ещё и не все граничные условия сходу найдёте, а Сринавас и Суньхренвчай напишут её же в 2 раза быстрее быстрее потому, что уже проработали именно эту задачу. Кого возьмут?
Почему то уверен, что Кормен и Кнут не смогли бы и половину Medium/Hard задачек решить успешно, будь они обезличены на собеседовании.
Falcon
Уже с Приветом
Posts: 775
Joined: 10 May 2003 17:55
Location: Minsk->NJ->PA->CA

Re: Путь в большой тотал 700к+

Post by Falcon »

ystar wrote: 02 Mar 2020 05:56
voyager3 wrote: 02 Mar 2020 03:21
Falcon wrote: 02 Mar 2020 03:09 И ещё хороший погромист легко раз в 10 будет производительнее среднего.
Эти 10 раз означают выполнение более сложной и масштабной работы и наличие собственных идей, а не то, что кто-то программирует в 10 раз быстрее.
Но если в конторе действительно считают скорость написания кода на доске индикатором производительности на работе, то только и остаётся литкод полировать: вы с Кнутом и Корменом решите задачу, еле уложившись в отведённое время, да ещё и не все граничные условия сходу найдёте, а Сринавас и Суньхренвчай напишут её же в 2 раза быстрее быстрее потому, что уже проработали именно эту задачу. Кого возьмут?
Почему то уверен, что Кормен и Кнут не смогли бы и половину Medium/Hard задачек решить успешно, будь они обезличены на собеседовании.
Зря вы так, мне довелось с ним немного поговорить. Умнейший человек. Уверен, он бы справился.
Falcon
Уже с Приветом
Posts: 775
Joined: 10 May 2003 17:55
Location: Minsk->NJ->PA->CA

Re: Путь в большой тотал 700к+

Post by Falcon »

ystar wrote: 02 Mar 2020 05:51
Falcon wrote: 02 Mar 2020 03:19
ystar wrote: 02 Mar 2020 01:32
так то Иван отчасти прав, про то, что пишут внутри, и такое пишут, что Кнута и Кормена они не читали и близко. Но как то они работают здесь. Аналогично и в остальных ФААНГ.
Всяко бывает. Понятно, что не все внутри строем маршируют в сияющих доспехах и не перечитывают на ночь подборку ACM. В целом, мне кажется, уровень в ФААНГах повыше чем в Рога и Копыта, даже среди джуниоров. А лиды так явно лучше.

явно лучше программисты лучше, но вот лиды, пока моих двух лучших лидов в истории, никто близко не подобрался.
У вас что по статистике было?
Falcon
Уже с Приветом
Posts: 775
Joined: 10 May 2003 17:55
Location: Minsk->NJ->PA->CA

Re: Путь в большой тотал 700к+

Post by Falcon »

voyager3 wrote: 02 Mar 2020 03:21
Falcon wrote: 02 Mar 2020 03:09 И ещё хороший погромист легко раз в 10 будет производительнее среднего.
Эти 10 раз означают выполнение более сложной и масштабной работы и наличие собственных идей, а не то, что кто-то программирует в 10 раз быстрее.
Но если в конторе действительно считают скорость написания кода на доске индикатором производительности на работе, то только и остаётся литкод полировать: вы с Кнутом и Корменом решите задачу, еле уложившись в отведённое время, да ещё и не все граничные условия сходу найдёте, а Сринавас и Суньхренвчай напишут её же в 2 раза быстрее быстрее потому, что уже проработали именно эту задачу. Кого возьмут?
Вы не поверите, тупо раз в 10 быстрее пишут. Еще и багов меньше делают. И да, могут и сложнее и масштабнее.
Я с Корменом пока завалил только одно интервью за последние 15 лет, и пока еще могу решить любую задачку, хотя предлагают все реже. Как вы думаете какова статистика у Суньхренвчаев?

У вас есть предложение лучших индикаторов? Давайте их сюда, с удовольствием послушаю.
8K
Уже с Приветом
Posts: 5538
Joined: 20 Mar 2001 10:01
Location: SFBA

Re: Путь в большой тотал 700к+

Post by 8K »

ystar wrote: 02 Mar 2020 05:54FuzzBuzz написать. ничего такого, что могло занять больше 10 минут.
And you can be creative at that (scroll to 28 minutes).

Code: Select all

#include <iostream>
#include <iomanip>
#include <string>
#include <functional>

using namespace std;
using namespace std::placeholders;

string fizzbuzz(int n)
{
    auto test =
        [=](int d, string s, function<string(string)> f)
        {
            return
                n % d == 0
                    ? [=](string) { return s + f(""); }
                    : f;
        };

    auto fizz = bind(test, 3, "Fizz", _1);
    auto buzz = bind(test, 5, "Buzz", _1);
    auto id = [](auto s) { return s; };

    return fizz(buzz(id))(to_string(n));
}

int main()
{
    for (int i = 1; i <= 30; ++i)
        cout << setw(2) << i << ": " << fizzbuzz(i) << '\n';
}
Увидев друга, Портос вскрикнул от радости...
User avatar
IvanGrozniy
Уже с Приветом
Posts: 10379
Joined: 04 Feb 2004 14:14
Location: Edgewater, NJ

Re: Путь в большой тотал 700к+

Post by IvanGrozniy »

8K wrote: 02 Mar 2020 19:31
ystar wrote: 02 Mar 2020 05:54FuzzBuzz написать. ничего такого, что могло занять больше 10 минут.
And you can be creative at that (scroll to 28 minutes).

Code: Select all

#include <iostream>
#include <iomanip>
#include <string>
#include <functional>

using namespace std;
using namespace std::placeholders;

string fizzbuzz(int n)
{
    auto test =
        [=](int d, string s, function<string(string)> f)
        {
            return
                n % d == 0
                    ? [=](string) { return s + f(""); }
                    : f;
        };

    auto fizz = bind(test, 3, "Fizz", _1);
    auto buzz = bind(test, 5, "Buzz", _1);
    auto id = [](auto s) { return s; };

    return fizz(buzz(id))(to_string(n));
}

int main()
{
    for (int i = 1; i <= 30; ++i)
        cout << setw(2) << i << ": " << fizzbuzz(i) << '\n';
}
Этот дядя вас в заблуждение ввел. Сначала задался вопросом, как избавится от проверки на кратность трем при каждом вызове функции. Затем гордо всовывает лямбду... В итоге все-равно приходится проверять кратность трем в его примере :D
Ну нужно отдать должное, что он сразу отмечает, что такие лямбды позволяют вам сохранить рабочее время, так как мало кто в этой писанине без бутылки не разберется. Я бы таких программистов в свою компанию не взял бы :gen1:
8K
Уже с Приветом
Posts: 5538
Joined: 20 Mar 2001 10:01
Location: SFBA

Re: Путь в большой тотал 700к+

Post by 8K »

IvanGrozniy wrote: 02 Mar 2020 20:07 Этот дядя ... задался вопросом, как избавится от проверки на кратность трем при каждом вызове функции.
Нет. Он задался вопросом, как избавиться от двойной проверки на кратность трем. Это, собственно, и есть основная проблема физбаза.

Как оказалось, избавиться можно, но не нужно.
Увидев друга, Портос вскрикнул от радости...
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Путь в большой тотал 700к+

Post by Мальчик-Одуванчик »

IvanGrozniy wrote: 02 Mar 2020 20:07 Затем гордо всовывает лямбду... В итоге все-равно приходится проверять кратность трем в его примере :D
Ну нужно отдать должное, что он сразу отмечает, что такие лямбды позволяют вам сохранить рабочее время, так как мало кто в этой писанине без бутылки не разберется. Я бы таких программистов в свою компанию не взял бы :gen1:
Кое-что в этой лямбде есть, так как она не просто лямбда но еще и хвостатая. Если бы он её еще и применил рекурсивно...
User avatar
IvanGrozniy
Уже с Приветом
Posts: 10379
Joined: 04 Feb 2004 14:14
Location: Edgewater, NJ

Re: Путь в большой тотал 700к+

Post by IvanGrozniy »

Мальчик-Одуванчик wrote: 02 Mar 2020 20:43
IvanGrozniy wrote: 02 Mar 2020 20:07 Затем гордо всовывает лямбду... В итоге все-равно приходится проверять кратность трем в его примере :D
Ну нужно отдать должное, что он сразу отмечает, что такие лямбды позволяют вам сохранить рабочее время, так как мало кто в этой писанине без бутылки не разберется. Я бы таких программистов в свою компанию не взял бы :gen1:
Кое-что в этой лямбде есть, так как она не просто лямбда но еще и хвостатая. Если бы он её еще и применил рекурсивно...
Я не понимаю зачем вам лямды в C и C++? Указатели на функции в этих языках еще в прошлом веке были. Вам что, хочется быть похожими на новомодные C#, python, JavaScript и прочая? :D
8K
Уже с Приветом
Posts: 5538
Joined: 20 Mar 2001 10:01
Location: SFBA

Re: Путь в большой тотал 700к+

Post by 8K »

IvanGrozniy wrote: 02 Mar 2020 20:47 Я не понимаю зачем вам лямды в C и C++? Указатели на функции в этих языках еще в прошлом веке были. Вам что, хочется быть похожими на новомодные C#, python, JavaScript и прочая? :D
Это сарказм или на самом деле вопрос? Лямбда нужна, чтобы стандартные алгоритмы работали быстро. Вызов функции стоит дорого.
Увидев друга, Портос вскрикнул от радости...
User avatar
IvanGrozniy
Уже с Приветом
Posts: 10379
Joined: 04 Feb 2004 14:14
Location: Edgewater, NJ

Re: Путь в большой тотал 700к+

Post by IvanGrozniy »

8K wrote: 02 Mar 2020 20:53
IvanGrozniy wrote: 02 Mar 2020 20:47 Я не понимаю зачем вам лямды в C и C++? Указатели на функции в этих языках еще в прошлом веке были. Вам что, хочется быть похожими на новомодные C#, python, JavaScript и прочая? :D
Это сарказм или на самом деле вопрос? Лямбда нужна, чтобы стандартные алгоритмы работали быстро. Вызов функции стоит дорого.
Лямбда у вас превращается в фунцию на стадии компиляции. Не-е? Одна и та же хрень, только вид сбоку.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Путь в большой тотал 700к+

Post by Мальчик-Одуванчик »

IvanGrozniy wrote: 02 Mar 2020 20:47
Я не понимаю зачем вам лямды в C и C++? Указатели на функции в этих языках еще в прошлом веке были. Вам что, хочется быть похожими на новомодные C#, python, JavaScript и прочая? :D

Например в качестве функтора, задаваемого в теле алгоритма.
8K
Уже с Приветом
Posts: 5538
Joined: 20 Mar 2001 10:01
Location: SFBA

Re: Путь в большой тотал 700к+

Post by 8K »

IvanGrozniy wrote: 02 Mar 2020 20:59
8K wrote: 02 Mar 2020 20:53
IvanGrozniy wrote: 02 Mar 2020 20:47 Я не понимаю зачем вам лямды в C и C++? Указатели на функции в этих языках еще в прошлом веке были. Вам что, хочется быть похожими на новомодные C#, python, JavaScript и прочая? :D
Это сарказм или на самом деле вопрос? Лямбда нужна, чтобы стандартные алгоритмы работали быстро. Вызов функции стоит дорого.
Лямбда у вас превращается в фунцию на стадии компиляции. Не-е? Одна и та же хрень, только вид сбоку.
Лямбда у нас превращается компилятором в очень простой класс с очень простым методом. Можно и самому написать, но зачем весь этот boilerplate code? Он захламляет пространство. Кроме того, этот класс нельзя сделать локальным внутри функций.

Опять же, кложи (pardon my French).
Увидев друга, Портос вскрикнул от радости...
_reality
Уже с Приветом
Posts: 232
Joined: 18 Nov 2014 22:55
Location: SFBA

Re: Путь в большой тотал 700к+

Post by _reality »

IvanGrozniy wrote: 02 Mar 2020 20:47 Я не понимаю зачем вам лямды в C и C++? Указатели на функции в этих языках еще в прошлом веке были. Вам что, хочется быть похожими на новомодные C#, python, JavaScript и прочая? :D
Вот таких вот не понимающих в гугл и не берем, а вовсе не по возрасту дескриминруем. 8)
User avatar
Sergunka
Уже с Приветом
Posts: 34124
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Путь в большой тотал 700к+

Post by Sergunka »

_reality wrote: 02 Mar 2020 23:34
_reality,

рад Вас опять увидеть. Когда прийдете на чебуреки? :fr: Может в этом году в апреле уделите время.
"A patriot must always be ready to defend his country against his government." Edward Abbey
_reality
Уже с Приветом
Posts: 232
Joined: 18 Nov 2014 22:55
Location: SFBA

Re: Путь в большой тотал 700к+

Post by _reality »

Sergunka wrote: 03 Mar 2020 00:24 рад Вас опять увидеть. Когда прийдете на чебуреки? :fr: Может в этом году в апреле уделите время.
Быть может и доберусь :-)

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