Подборка алгоритмических задач с решениями и описание алгоритмов уже опубликованных в этом канале
#interview #собеседование #алгоритмы #подборка

Обновление подборки.

Общие статьи:
1) Как выбрать язык программирования для алгоритмического собеседования?
2) Как решать алгоритмические задачи на подготовке, чтобы это было эффективно
3) Как не забыть решения задач и алгоритмы
4) Шпаргалка по основным алгоритмам для алгоритмического собеседования
5) Шпаргалка по Java для алгоритмического собеседования
6) Подборка из easy задач для начала подготовки к алгоритмическому собеседованию.
7) Сбалансированная подборка из 100 задач для подготовки к алгоритмическому собеседованию.
8) Видео: mock собеседование по алгоритмам в FAANG

Two Pointers:
1) Проверка на палиндром.
2) Усложненная версия проверки на палиндром.
3) Merge Two Sorted Arrays
4) Самая длинная палиндромная подстрока
5) Удалить дубликаты в отсортированном массиве
6) Видео: Merge Intervals
7) Merge Strings Alternately
HashTable:
8) Two Sum
9) Видео: Сгруппировать анаграммы
10) Задача с собеседования в Google. 939. Minimum Area Rectangle
11) Задача с собеседования в Microsoft: Самое большое палиндромное число
Stack:
12) Проверить скобочное выражение.
13) Удалить минимальное число скобок, чтобы сделать скобочное выражение правильным
Sorting:
14) Первый пропущенный положительный элемент массива
LinkedList:
15) Удалить n-й элемент с конца в односвязном списке
16) Deep Copy списка со ссылкой на случайный элемент.
BinarySearch:
Описание алгоритма BinarySearch.
17) Пропущенный элемент в отсортированном массиве.
18) Пиковый элемент.
19) Число итераций в бинарном поиске.
20) Первая плохая версия
DFS:
Описание алгоритма DFS.
22) Flood Fill.
22) Видео: Число Островов
BFS:
Описание алгоритма BFS.
23) Проверить полноту дерева.
24) Обход дерева по уровням.
25) Remove Invalid Parentheses
Топологическая сортировка:
Топологическая сортировка
26) Видео: Top k elements
Binary Tree:
Алгоритмы обхода двоичного дерева
27) Invert Binary Tree
28) BranchSums
29) Максимальная высота дерева
30) Максимальная сумма пути в бинарном дереве
31) Сумма элементов бинарного дерева поиска в диапазоне значение
32) Удалить вершины в дереве и вернуть оставшийся лес/forest
33) Вертикальный обход бинарного дерева
Dynamic Programming:
Основные этапы решения задач на динамическое программирование Top-Down методом
34) Top Down подход на примере задачи про ступеньки
35) Задача на динамическое программирование. Разделение на слова.
36) Количество дождевой воды
37) Bottom-up подход: разменять деньги
38) Видео: Longest Increasing Subsequence
39) Лучшее время для покупки и продажи акции
40) Maximal Square
41) Замощение домино и тримино
Sliding Window
42) Contains Duplicate ||
43) Наибольшая подстрока без повторяющихся символов.
Arrays, frequencies, bits manipulation
44) Valid Sudoku
👍10🔥93
👍12🔥98
Пару недель назад нам рекомендовали просить кандидатов шарить экран через zoom, просить закрыть все вкладки, кроме одной, а также убрать все фильтры в zoom.
При отказе, даже если ничего подозрительного не было, нужно выставлять специальную галочку при заполнении фидбека.
👍22🤔12
Кандидат из JP Morgan

Недавно собеседовал кандидата из JP Morgan. Это был уже full loop, т.е. скрин он уже прошел.
Во время обсуждения задач, не задавал уточняющие вопросы. Решения называл не оптимальные. При этом не мог сформулировать как будет работать решение от начала до конца и не смог обсудить edge-cases.
Я попросил начать кодить. Во время кодинга сразу писал оптимальные решения, после долго не мог объяснить почему это работает. Там было несколько небольших ошибок, пофиксить адекватно он их не смог.
Я отметил его с системе как возможный читинг.

Смотрите другие случаи с собеседований: https://t.me/faangmaster/640
👍18🔥6🥴1
Процесс собеседования и задача с собеседования в WIZ.

WIZ это самый быстрорастущий стартап за все время. Google недавно заключил сделку о покупки компании за $32B. Компания занимается кибербезопасностью в облачных сервисах.

Сходил к ним на собес.
Процесс выглядит так:
1) созвон с HR
2) Поведенческое интервью
3) Техническое собеседование на 4 часа.

Как выглядело техническое собеседование.

Созвон по zoom, вам дают большую задачу по написанию приложения. Вы уточняете требования, далее вам дают 20 минут на обдумывание дизайна. Далее вы обсуждаете дизайн, вам задают уточняющие вопросы. Это все занимает час.
Далее вам дают 3 часа на то, чтобы написать код решения - это небольшое приложение. Результат нужно выложить на github.

Задача
Есть два файла:

1) Список облачных провайдеров (Google Cloud, AWS и т. д.) с различными параметрами.
2) Лог firewall.

В логах firewall содержатся source и destination IP-адреса. Это IP-адреса сотрудников и облачных сервисов, к которым они обращаются (source и destination могут меняться местами в зависимости от того это исходящие подключение или входящее). Необходимо вывести на экран, для каждого провайдера, уникальный список IP-адресов сотрудников, подключавшихся к нему.

Дополнительно нужно:

1) реализовать пользовательские правила фильтрации по IP-адресам и CIDR-маскам; Фильтры могут быть как на исключение, так и на включение.

2) учесть, что в логах иногда указан сам провайдер, а иногда только его IP-адрес; в последнем случае следует оптимально определить провайдера по IP (подсказка: использовать DNS-запросы и кэшировать результаты);

3) добавить многопоточность в приложение.
🔥25👍113👎1😢1
Задача с собеседования в Google: Jump Game

Задача

Дан целочисленный массив nums. Вначале мы находимся на первом индексе массива, и каждое значение в массиве представляет максимальную длину прыжка с этой позиции.

Нужно вернуть true, если мы можем достичь последний индекс, иначе false.

Пример 1:

nums = [2,3,1,1,4]
Результат: true
Прыжок на 1 шаг с индекса 0 до 1, затем прыжок на 3 шага до последнего индекса.

Пример 2:

nums = [3,2,1,0,4]
Результат: false
Вы всегда окажетесь на индексе 3, независимо от выбора. Максимальная длина прыжка на этом индексе — 0, что делает невозможным достижение последнего индекса.

Ссылка на leetcode: https://leetcode.com/problems/jump-game

Решение

Решение описал тут: Jump Game

Код решения:

public boolean canJump(int[] nums) {
int goal = nums.length - 1;
for (int i = nums.length - 2; i >= 0; i--) {
if (i + nums[i] >= goal) {
goal = i;
}
}
return goal == 0;
}


Смотри также разбор 44 других типичных алгоритмических задач в FAANG: https://t.me/faangmaster/648
👍131
ИИ скоро нас всех заменит. ChatGPT o3 модель превосходит всех в своих размышлениях.
😁69👍5🔥4😱31
Утечки всех промптов, крупнейших AI стартапов

Продукты, вроде Cursor (AI среда разработки), Devin (AI программист) и им подобные - это просто враперы поверх LLM. Они делают вызовы через API к LLM моделям вроде Claude, ChatGPT и т.д. Т.е. их интеллектуальная собственность - это просто промпты, которые они отправляют.

Стоимость, таких компаний достигает десятков миллиардов долларов.

Вот утечки всех промптов, которыми владеют эти компании: https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools/tree/main

Например, Devin: https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools/blob/main/Devin%20AI/Prompt.txt
🔥21👍9😁31
Media is too big
VIEW IN TELEGRAM
Все таки есть польза от современных нейронок. Можно мемасы генерить.
👍8
Media is too big
VIEW IN TELEGRAM
Врываемся в FAANG из деревни
👍13😁6
😁27
Собеседовал сегодня кандидата из России

Во время собеседования он несколько раз пренебрежительно упоминал литкод.
При этом не знал самые базовые алгоритмы, которые изучаешь за первые 7 дней подготовки.
Не смог решить без подсказок ниодной задачи. Была куча багов, которые не смог найти без указаний на конкретные неправильные строки. Не смог их нормально пофиксить.
😢31😁1🤔1🥱1
Мета перенаправляет все ресурсы в AI

На следующей неделе начнется очередное перформанс ревью. Планируют 20% компании пометить как BE (Below Expectation) и возможно уволить из компании.
С учетом покупки Scale AI за $14B, слухов про оферы в $100M текущим сотрудникам Open AI, все кто не работает над AI под угрозой...
🤯36🤣3
Индекс по каналу

Кто я: я программист с ~18 годами опыта работы в IT. Из них 8 лет я проработал в двух FAANG-компаниях (Amazon, Facebook/Meta). Есть опыт жизни и работы в 4 странах (Россия, Германия, Люксембург, Великобритания). Из языков программирования лучше всего знаю Java. Провел более 100 собеседований в FAANG компании.
Закончил МФТИ. Там же вел семинары по информатике.

Про что я пишу: Разбираю задачи с собеседования по Java (включая многопоточность), задачи с собеседования в FAANG по алгоритмам и System Design. Пишу про то как работают процессы в FAANG-компаниях, про культуру инжиниринга, уровни и личный опыт работы в них. Пишу про релокацию, работу в Европе, работу в FAANG, собеседования в FAANG и много другое.

Мои статьи https://dev.to/faangmaster
Мой youtube: https://www.youtube.com/@faangmaster
Мой patreon: https://www.patreon.com/c/FAANGMaster
Мой boosty: https://boosty.to/faangmaster

Подборки постов:

1) Гайд по подготовке к собеседованию в FAANG: Как подготовиться к собеседованию в FAANG/Big Tech
2) Подготовка к System Design с нуля и для разных уровней

Подборки с моими разборами большого числа задач с собеседований:
3) Разобрал 24 темы и реальных задач с System Design собеседований в FAANG
4) Разобрал все основные алгоритмы и 44 задачи с собеседований на алгоритмы в FAANG
5) Разобрал 30 вопросов и задач по Java и Многопоточность

6) Подборка постов в канале с рекомендациями по подготовке к собеседованию
7) Подборка постов в канале о работе в FAANG
8) Подборка книг для Java программиста
9) Ресурсы для подготовки к собеседованию по алгоритмам
10) Подборка постов в канале со случаями на собеседованиях
11) Подборка постов в канале про релокацию, жизнь и работу в Европе
12) Подборка постов в канале про онбординг, уровни, LLM vs программист и прочее
🔥40👍5❤‍🔥41🤔1
С чего начать изучать алгоритмы с полного нуля в 2025?

Эта рекомендация для тех, кто ещё ни разу не изучал алгоритмы и структуры данных.

Я бы рекомендовал начать с книги:

1) Grokking Algorithms by Aditya Bhargava (Грокаем алгоритмы, Бхаргава Адитья). Можно даже не покупать, в интернете гуглится pdf. Если нацелены на FAANG, то рекомендую сразу читать в оригинале на английском (как и всю другую техническую литературу). Книга рассказывает все очень понятно и на пальцах. Топовым олимпиадником она вас не сделает, но плавно вкатиться поможет.

Читать сразу книги:
Алгоритмы, Седжвик Роберт
Алгоритмы: построение и анализ, Томас Кормен; Чарльз Лейзерсон; Рональд Ривест; Клиффорд Штайн
Искусство программирования, Кнут

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

Далее можно изучить введение в несколько глав из книги
2) Cracking the Coding Interview by Gayle Laakmann Mcdowell:

1) Chapter 1. Arrays and Strings
2) Chapter 2. Linked Lists.
3) Chapter 3. Stacks and Queues.
4) Chapter 4. Trees and Graphs.
5) Chapter 8. Recursion and Dynamic Programming
6) Chapter 10. Sorting and Searching

В начале каждой главы есть описание ключевого алгоритма для решения задач на данную тему. Это 2-3 странички. Изучите очень детально алгоритмы из 6 введений до такой степени, что сможете спокойно в любой момент на листочке выписать алгоритмы из этих 6 глав без подсказок и их рассказать другу.
🔥31👍145
Мои книги, точнее те, что остались после множества переездов.
Читаете ли вы бумажные книги по программированию или все в электронном виде?
🔥31👍1942👎1
Мира Мурати - ex-CTO Open AI в феврале 2025 основала свою компанию Thinking Machines Lab.
Сразу получила посевных инвестиций(посевных Карл) на $2B с оценкой стоимости компании в $10B. На данный момент у нее нет никакого продукта или даже прототипа. Просто слоган компании.

Краткая биография:
36 лет, родилась в Албании. В 16 переехала в Канаду. Получила бакалавра по искусству и в 2013 бакалавра инжинерии.
В 2013 начала работать в Tesla на позиции PMа.
В 2016-2018 работала в стартапе Leap Motion.
В 2018(в возрасте 30 лет и 5 годах опыта работы) пришла в Open AI на позицию VP (через 3 года после основания Open AI).
Вскорее стала CTO в Open AI.

В 2024 уволилась из Open AI, чтобы основать свою компанию.

Нет ли у вас чувства нарастающего пузыря в AI?
💯37🔥13😁6🤣21👍1👏1
Бабушка не решила дейлик на литкоде

https://www.youtube.com/shorts/X-PjlF_qu0c
😢11😁9🔥3💅1