Подборка постов в канале про онбординг, уровни, LLM vs программист и прочее

Онбординг:
1) С какими сложностями я столкнулся на своей первой работе программистом?, Часть 2
2) Как быстро адаптироваться в команде и компании?, Часть 2
3) Что не стоит делать при онбординге в новую компанию?
4) Team Selection и on-boarding в Facebook
5) Как устроен onboarding процесс в Amazon?, Часть 2

Уровни:
1) Чем отличается Junior от Middle программиста?, Часть 2.
2) Чем отличается Senior программист от Middle?
3) Странные тайтлы в инвест банках
4) Распределение по уровням в FAANG
5) Структура FAANG/Big Tech компании
6) Какие бы советы я дал Junior программистам, чтобы быстрее стать Middle разработчиками?
7) Какие бы советы я дал Middle программистам, чтобы быстрее стать Senior разработчиками?, Часть 2.
8) Неоднозначность в тайтлах выше Senior
9) Как проще получить повышение? Сменой работы или промоушен на текущем месте работы?
10) Сложности начала работы в FAANG с позиции Senior

Прочее:
1) История о том, как я провалил собеседование в Google.
2) С чего начать поиск работы в IT?
3) Минусы работы в IT/программистом
4) Стоит ли целенаправленно готовиться к собеседованию в FAANG, если у вас нет технического образования и вы учитесь на курсах и хотите стать программистом?
5) С чего начать изучать программирование в 2023?
6) Что я думаю про курсы по программированию, которые рекламируют на каждом углу?
7) Подборка фильмов, сериалов и документалок о программистах, BigTech, стартапах и их основателях
8) Примеры внутренних тулов и библиотек Facebook, которые стали общедоступными
9) Нобелевскую премию по химии в 2024 году получил сотрудник Google
10) Кофе и продуктивность
11) Стоит ли поступать в 2025 году в технические вузы c целью стать программистом?, Часть 2.
12) Среди сотрудников FAANG/Big Tech сейчас популярен выход на пенсию до 40
13) FIRE movement
14) Минутка ностальгии: первый опыт программирования, книга, среда разработки

LLM vs программисты
1) Заменяют ли программистов в топ компаниях на нейросети?, Часть 2
2) Заменят ли программистов нейросети в ближайшем будущем? Update, Часть 2
3) Реальный импакт LLM на программистов
4) Почему все Big Tech/FAANG компании делают AI
5) Прошло уже 2 года с момента релиза ChatGPT
6) Че там по замене программистов AI?, Часть 2.
7) Andrej Karpathy выпустил новое видео с разбором того, как работает ChatGPT
8) Бокал вина
9) Очередное видео от одного из основателей Open AI, про использование LLM
10) Свежее интервью Yann LeCun
11) Интервью Demis Hassabis
12) On the Biology of a Large Language Model
13) Почему в IT-секторе в последние 3 года столько сокращений?
👍9🔥73
Подборка вопросов и ответов для подготовки к собеседованию на Java программиста
#java #interview #собеседование

Обновление подборки из статей, которые я уже написал и опубликовал в этом канале.

Общие вопросы:
1) Методы класса Object
2) Иерархия и типы исключений
3) GC
4) Сравнение строк в Java

Коллекции:
5) HashMap
6) ArrayList vs LinkedList
7) Иерархия коллекций в Java
8) Иерархия Map
9) Maximum ArraySize
10) Как внутри устроен HashSet?

Многопоточность:
11) Перевод между банковскими аккаунтами (dead-lock).
12) Ping-Pong (wait-notify).
13) Приостанавливаемый поток.
14) Подборка вопросов по многопоточности
15) Напечатать последовательность чисел при помощи нескольких потоков на Java.
16) ConcurrentModificationException
17) Thread Safe Singleton
18) Обедающие философы
19) Реализовать потокобезопасную блокирующую очередь на Java ограниченного размера
20) Реализовать потокобезопасный неблокирующий стек на Java
21) Daemon потоки
22) Является ли immutable class в Java Thread safe?
23) Implicit Lock Reentrancy
24) Java Memory Model и happens-before
25) ConcurrentHashMap vs Collections.synchronizedMap vs Hashtable vs HashMap
26) Реализовать потокобезопасную неблокирующую очередь на Java
27) Вопрос с собеседования на Java программиста: Как выполнить код в отдельном потоке в Java?

SQL:
28) Типы SQL joins
29) Плюсы и минусы индексов

Spring:
30) Что такое @Autowire в Spring? Как его использовать и как он работает?

Бонус:
31) Логическая задача про лошадей. Решение: тут
29👍6🔥6
Подборка алгоритмических задач с решениями и описание алгоритмов уже опубликованных в этом канале
#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