Size: a a a

2021 March 03

U

UsernameAK in pro.cxx.holywars
и только что pathfinding
источник

KK

Konstantin Kozyrev in pro.cxx.holywars
/dev/desider
Computer Science знания, которые мне не пригодились

В культуре собеседований западных продуктовых компаний и тех кто под них косит принято гонять кандидатов по базам CS: решать алгоритмические задачи, спрашивать заковыриствую теорию. Бытует мнение, что на практике эти знания применяются крайне редко—поэтому мы, кандидаты, подгораем от необходимости этих знаний на собесах. Зачем спрашивать, если у вас формочки?

Оставив в стороне целесообразность проведения таких интервью я сфокусируюсь на своём опыте—какие знания из "базы" мне понадобились за 14 лет профессиональной карьеры. Для контекста—я долго занимался бекенд разработкой энтерпрайза, потом перекатился в фуллстек веб и инфраструктуру, потом к этому добавилась немного низкоуровневых штук в Java и Spark. Между делом немного работал с мобилами. Поехали!

Реализация конкретных алгоритмов и сами алгоритмы, как-то нахождение путей в графе, сортировка, вращение деревьев, хитрая работа со строками и списками, динамическое программирование. За все года—ничего из этого мне не понадобилось. Самое сложное из набора которое надо применять почти всегда—это работа с деревянными структурами где задача или обойти полностью всё дерево или от листка наверх пройти до корня попутно собрав всех парентов.

Big O—не использовал никогда. Затрудняюсь даже придумать где и зачем это надо кроме хитрожопых сортировок которые за нас уже давно написаны в стандартных библиотеках. Цикл в цикле вместо одного запроса в базу не считаю—это проблема понимания работы баз и N+1 проблемы а не Big O.Затрудняюсь даже придумать где и зачем это надо кроме хитрожопых сортировок которые за нас уже давно написаны в стандартных библиотеках. Цикл в цикле вместо одного запроса в базу не считаю—это проблема понимания работы баз и N+1 проблемы а не Big O. upd: много людей триггернулось на Big O, т.к. я не очень корректно сформулировал утверждение. Про Big O будет в следующей части.

Арифметика указателей, ручная работа с памятью—никогда, ведь я пишу на языках с Garbage Collection.

Многопоточность, треды, примитивы синхронизации, локи—никогда не были нужны. Тред пулы не считаю. Замечу, что понимание как работает внутри многопоточность разработчику иметь нужно, потому что нам все равно приходится работать с синхронизацией, но на более высоком уровне. В университете был очень хороший курс по параллельным вычислениям, он не раз меня спасал при прохождении собесов.

Вроде из популярных вопросов всё, укажите в комментариях что я упустил—будем дополнять.

С моей точки зрения все эти штуки полезно знать—потому что многое является базой для того, с чем работаешь уже ежедневно, например знание параллелизма помогает для понимания транзакционности и гонок.

В следующей части я расскажу о том, какие знания мне понадобились.

#работа
permalinkpermalink | задонатитьзадонатить
Низкоуровневое на жабе. Это как?
источник

/

/dev/desider in pro.cxx.holywars
PROLOG ONE LOVE
Типикал дно, после которого весь код нахуй переписывать приходится жи)
Тырпрайс макака, которая даёт советы дошколятам)
источник

PO

PROLOG ONE LOVE in pro.cxx.holywars
Konstantin Kozyrev
Низкоуровневое на жабе. Это как?
Сим-карты, к примеру)
источник

KK

Konstantin Kozyrev in pro.cxx.holywars
PROLOG ONE LOVE
Сим-карты, к примеру)
Оу
источник

/

/dev/desider in pro.cxx.holywars
Konstantin Kozyrev
Низкоуровневое на жабе. Это как?
Писать микроконтроллеры в виртуальной машине)))
источник

PO

PROLOG ONE LOVE in pro.cxx.holywars
Да и много есть всяких штук на самом деле, у меня первый тимлид рассказывал, как он писал прошивку на роутер на шарпе
источник

/

/dev/desider in pro.cxx.holywars
PROLOG ONE LOVE
Да и много есть всяких штук на самом деле, у меня первый тимлид рассказывал, как он писал прошивку на роутер на шарпе
И как она?)
источник

PO

PROLOG ONE LOVE in pro.cxx.holywars
/dev/desider
И как она?)
А я уже не помню
источник

@N

@urandon Nikita Khom... in pro.cxx.holywars
PROLOG ONE LOVE
Типикал дно, после которого весь код нахуй переписывать приходится жи)
Потом такие начинают "ой, база чёто-тупит"
источник

PO

PROLOG ONE LOVE in pro.cxx.holywars
Вроде никто с тех пор ее не перепиливал
источник

/

/dev/desider in pro.cxx.holywars
PROLOG ONE LOVE
Вроде никто с тех пор ее не перепиливал
Ахаххах
источник

/

/dev/desider in pro.cxx.holywars
Дотнет кор на линуксе там?
источник

PO

PROLOG ONE LOVE in pro.cxx.holywars
/dev/desider
Дотнет кор на линуксе там?
Нет, он это пилил, когда не было никакого кора даже близко)
источник

PO

PROLOG ONE LOVE in pro.cxx.holywars
Вроде моно
источник

/

/dev/desider in pro.cxx.holywars
@urandon Nikita Khomutov
Потом такие начинают "ой, база чёто-тупит"
Пук-пук нужно купить ещё 1ккк серверов, высокая нагрузка)0)
источник

PO

PROLOG ONE LOVE in pro.cxx.holywars
Но я уже не помню подробностей
источник

@N

@urandon Nikita Khom... in pro.cxx.holywars
/dev/desider
Писать микроконтроллеры в виртуальной машине)))
На наносервисах в cloud functions поверх api gateway
источник

/

/dev/desider in pro.cxx.holywars
Проходим цикл за О(н!) ))))
источник

PO

PROLOG ONE LOVE in pro.cxx.holywars
/dev/desider
Пук-пук нужно купить ещё 1ккк серверов, высокая нагрузка)0)
А потом набирают критическую массу серваков и увеличение их количества приводит к уменьшению производительности
источник