Салем друзья! 👋
Новая неделя, новые идеи. 🙂
Появилась мысль подготовить довольно подробный план на 3-4 месяца по подготовке к Google и Amazon. И не просто решать задачи, читать посты/книги, а больше увязать получение знаний с текущий местом работы. Что это значит? сейчас объясню
Алгоритмы и структуры данных - это просто навык, который нарабатывается решением задач на том же литкод и умением их объяснять, тот же pramp. Никакой магии, только практика.
Дизайн систем - тут тоже есть последовательность действий и некоторые необходимые базовые знания. Но очень хорошо тут заходит реальный опыт, поэтому синьоры обычно его лучше проходят, чем секцию с алгоритмами. А это значит, что ничего не мешает взять разобрать архитектуру вашего текущего проекта, попытаться нарисовать схему, попробовать найти узкие места и устранить их, или хотя бы подсветить для своего лида. Так же можно напроситься на проектирование какой-нибудь новой фичи, нового микросервиса, схем базы и так далее. По мне это лучше, чем просто рисовать абстрактные схемки для твитера, инстаграмма и так далее.
Ситуационные вопросы (behavioral questions) - для меня самая сложная часть собеседований. В отличии от двух предыдущих, тут не обойдись просто знаниями как правильно/неправильно, нужно рассказывать про свой реальный опыт из жизни. Поэтому легко попасть в ситуацию, когда начинаешь просто придумывать/подстраивать нерелевантный опыт под вопрос собеседующего. Мой главный инсайт после собеседований - ты уже на текущием месте работы должен следовать принципам Гугла/Амазона/Меты и просто нужно продемонстировать использование этих принципов на реальном интервью. Значит берем потенциальные ситуации и пробуем их спровоцировать на текущем проекте, нарабатываем необходимый опыт.
Подготовка резюме (CV screening) - тоже не люблю придумывать достижения на ровном месте, высасывать из пальца. Лучше наоборот, ввязываться в задачи, которые могут показать прирост пользователей/ускорение работы сервиса/больше денег бизнесу/управление командой. И отказываться от простых задач, которые несут ноль пользы твоему портфолио, рефакторинг кода, фикс багов, написание тестов и так далее.
Если кратко, то идея перевернуть игру. Стать тем, кто следует принципам лидерства Amazon уже сейчас. Стать гуглером, который временно работает в другой компании. Быть, делать, иметь.
Поделюсь, как накидаю шаблон. Stay tuned. 💻
Новая неделя, новые идеи. 🙂
Появилась мысль подготовить довольно подробный план на 3-4 месяца по подготовке к Google и Amazon. И не просто решать задачи, читать посты/книги, а больше увязать получение знаний с текущий местом работы. Что это значит? сейчас объясню
Алгоритмы и структуры данных - это просто навык, который нарабатывается решением задач на том же литкод и умением их объяснять, тот же pramp. Никакой магии, только практика.
Дизайн систем - тут тоже есть последовательность действий и некоторые необходимые базовые знания. Но очень хорошо тут заходит реальный опыт, поэтому синьоры обычно его лучше проходят, чем секцию с алгоритмами. А это значит, что ничего не мешает взять разобрать архитектуру вашего текущего проекта, попытаться нарисовать схему, попробовать найти узкие места и устранить их, или хотя бы подсветить для своего лида. Так же можно напроситься на проектирование какой-нибудь новой фичи, нового микросервиса, схем базы и так далее. По мне это лучше, чем просто рисовать абстрактные схемки для твитера, инстаграмма и так далее.
Ситуационные вопросы (behavioral questions) - для меня самая сложная часть собеседований. В отличии от двух предыдущих, тут не обойдись просто знаниями как правильно/неправильно, нужно рассказывать про свой реальный опыт из жизни. Поэтому легко попасть в ситуацию, когда начинаешь просто придумывать/подстраивать нерелевантный опыт под вопрос собеседующего. Мой главный инсайт после собеседований - ты уже на текущием месте работы должен следовать принципам Гугла/Амазона/Меты и просто нужно продемонстировать использование этих принципов на реальном интервью. Значит берем потенциальные ситуации и пробуем их спровоцировать на текущем проекте, нарабатываем необходимый опыт.
Подготовка резюме (CV screening) - тоже не люблю придумывать достижения на ровном месте, высасывать из пальца. Лучше наоборот, ввязываться в задачи, которые могут показать прирост пользователей/ускорение работы сервиса/больше денег бизнесу/управление командой. И отказываться от простых задач, которые несут ноль пользы твоему портфолио, рефакторинг кода, фикс багов, написание тестов и так далее.
Если кратко, то идея перевернуть игру. Стать тем, кто следует принципам лидерства Amazon уже сейчас. Стать гуглером, который временно работает в другой компании. Быть, делать, иметь.
Поделюсь, как накидаю шаблон. Stay tuned. 💻
🔥8👍1👏1
Еще раз привет!
😅 Я как-то плавно обошел знакомство, поэтому наверстываю упущенное.
Меня зовут Тибеев Тимур, мне 30 лет, senior backend engineer в Яндексе, по совместительству тимлид бэкендеров в продуктовой команде. Больше года провожу алгоритмические секции и последние полгода провожу финальные интервью в команды.
UPD: Я уже бывший Яндексоид и нынешний Канванафт (Canva, Sydney)
🎓 Закончил Костанайский казахско-турекцкий лицей. Бакалавр сделал в Suleyman Demirel University, магистратуру в Nazarbayev University.
🦾 Участвовал в олимпиадах по программированию, призер республиканских и международных соревнований. Доходил до полуфинала ACM среди студенческих команд. Сейчас иногда участвую в онлайн контестах, но это больше как хобби.
👩🚀 Участвовал в Google Summer of Code, как студент и два раза как ментор. Некоторое время усиленно занимался opensource проектом Checkstyle, еще заопенсорсил sdk для сервиса Toloka.
Этой весной и летом подавал в разные компании свою кандидатуру, вот мои результаты:
⁃ Meta (London) - прошел предварительный online coding, заморозили найм.
⁃ Amazon (Germany) - прошел все интервью, получил офер на L5, отказал
⁃ Google (Zurich) - прошел все интервью, получил офер на L4, отказал
⁃ Revolut (Porto) - прошел все интервью, получил офер на middle/senior, отказал
⁃ Bolt (Talinn) - прошел все интервью, получил офер на senior, отказал
⁃ Canva (Sydney) - прошел все интервью, получил офер на senior, принял
🙅 Я не сильно готовился к собеседованиям, совершал ошибки, как следствие не везде смог получить высокую оценку. Я слишком стар, чтобы опять начинать расти из мидла вверх, поэтому решил, что лучше потрачу время, чтобы наполнить резюме значимыми показателями и улучшить свои навыки прохождения интервью.
🤞 Моя цель на следующий год получить офер от Google на уровень L6, в принципе поэтому и появился этот канал, чтобы делиться опытом подготовки и самому получать опыт от других ребят. Вместе идти к целям интереснее и легче.
Будем знакомы 🖖
😅 Я как-то плавно обошел знакомство, поэтому наверстываю упущенное.
Меня зовут Тибеев Тимур, мне 30 лет, senior backend engineer в Яндексе, по совместительству тимлид бэкендеров в продуктовой команде. Больше года провожу алгоритмические секции и последние полгода провожу финальные интервью в команды.
UPD: Я уже бывший Яндексоид и нынешний Канванафт (Canva, Sydney)
🎓 Закончил Костанайский казахско-турекцкий лицей. Бакалавр сделал в Suleyman Demirel University, магистратуру в Nazarbayev University.
🦾 Участвовал в олимпиадах по программированию, призер республиканских и международных соревнований. Доходил до полуфинала ACM среди студенческих команд. Сейчас иногда участвую в онлайн контестах, но это больше как хобби.
👩🚀 Участвовал в Google Summer of Code, как студент и два раза как ментор. Некоторое время усиленно занимался opensource проектом Checkstyle, еще заопенсорсил sdk для сервиса Toloka.
Этой весной и летом подавал в разные компании свою кандидатуру, вот мои результаты:
⁃ Meta (London) - прошел предварительный online coding, заморозили найм.
⁃ Amazon (Germany) - прошел все интервью, получил офер на L5, отказал
⁃ Google (Zurich) - прошел все интервью, получил офер на L4, отказал
⁃ Revolut (Porto) - прошел все интервью, получил офер на middle/senior, отказал
⁃ Bolt (Talinn) - прошел все интервью, получил офер на senior, отказал
⁃ Canva (Sydney) - прошел все интервью, получил офер на senior, принял
🙅 Я не сильно готовился к собеседованиям, совершал ошибки, как следствие не везде смог получить высокую оценку. Я слишком стар, чтобы опять начинать расти из мидла вверх, поэтому решил, что лучше потрачу время, чтобы наполнить резюме значимыми показателями и улучшить свои навыки прохождения интервью.
Будем знакомы 🖖
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30👍13❤1
Оферы за 2 дня 🏃♂️
⏳ Обычно весь процесс интервью занимает от пару недель до месяца.
Не всем это подходит, поэтому компании иногда проводят hiring event, где за короткое время собеседуют множество кандидатов и сразу могут предложить офер.
Яндекс не исключение, они периодически проводят такие события и скажу они пользуются спросом.
👾 29-30 октября будет Weekend Offer Backend для бэкенд разработчиков.
Что нужно сделать, чтобы попасть?
- до 26 октября решить 4 задачи на платформе Яндекс.Контекст
- 29 октября пройти два онлайн собеседования с инженерами Яндекса
- 30 октября получить офер и познакомиться с командой
Все полностью онлайн!
👨💻 Даже если вы не планируете устраиваться в Яндекс, это все равно шанс прокачать свои навыки прохождения интервью, попробуйте получить максимально выгодный офер. Вас никто не заставит потом подписывать с ними контракт, но зато получите приличный буст к самооценке 😅
Больше информации тут:
https://yandex.ru/promo/events/weekend-backend-291022
⏳ Обычно весь процесс интервью занимает от пару недель до месяца.
Не всем это подходит, поэтому компании иногда проводят hiring event, где за короткое время собеседуют множество кандидатов и сразу могут предложить офер.
Яндекс не исключение, они периодически проводят такие события и скажу они пользуются спросом.
👾 29-30 октября будет Weekend Offer Backend для бэкенд разработчиков.
Что нужно сделать, чтобы попасть?
- до 26 октября решить 4 задачи на платформе Яндекс.Контекст
- 29 октября пройти два онлайн собеседования с инженерами Яндекса
- 30 октября получить офер и познакомиться с командой
Все полностью онлайн!
👨💻 Даже если вы не планируете устраиваться в Яндекс, это все равно шанс прокачать свои навыки прохождения интервью, попробуйте получить максимально выгодный офер. Вас никто не заставит потом подписывать с ними контракт, но зато получите приличный буст к самооценке 😅
Больше информации тут:
https://yandex.ru/promo/events/weekend-backend-291022
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤🔥1👍1👎1
Давайте на этой неделе порешаем задачи, связанные с хэшами 📦
🧩 Задача 16/200 ✅
https://leetcode.com/problems/contains-duplicate/
Сложность: Легкая, Процент успешных попыток 61.3%
#problemoftheday
🧩 Задача 16/200 ✅
https://leetcode.com/problems/contains-duplicate/
Сложность: Легкая, Процент успешных попыток 61.3%
#problemoftheday
LeetCode
Contains Duplicate - LeetCode
Can you solve this real interview question? Contains Duplicate - Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct.
Example 1:
Input: nums = [1,2,3,1]
Output: true…
Example 1:
Input: nums = [1,2,3,1]
Output: true…
Are Right A Lot
👀 Когда я готовился к собеседованиям от Амазона, всегда затормаживал на одном принципе лидерства «Are Right A Lot». Дословно переводится «Лидеры правы, очень часто». Если я допускаю баги в коде, значит я не лидер? Или если я ложил продакшн, значит я не лидер?
🧐 Но этот принцип больше про спорные моменты, умеет ли человек находить и доносить правильные решения до других.
🗣 В споре не всегда побеждает самый умный, а зачастую тот, кто своими знаниями, харизмой или своим авторитетом может убедить других. Так вот «Are Right A Lot» - это принцип про предвидение и убеждение. Это может звучать контринтуитивно, но если ты убедил, значит ты прав, потому что история не терпит сослагательных наклонений. Современный бизнес живет слишком быстро чтобы помнить плохое и слишком жаден, чтобы разбрасываться ресурсами, которые могут брать на себя ответственность.
💪 Как тренировать этот принцип или как получить опыт, которым можно продемонстрировать этот принцип?
Учиться отстаивать свою точку зрения, желательно спокойно и с разумными доводами. Даже маленькая победа в копилку, убедил коллегу или подчиненного, это круто. Смог доказать целесообразность своей идей перед командой или руководителем, это еще лучше. Высший пилотаж, если смог убедить бизнес и при этом принести профит компании.
😬 Ошибки тоже хорошо. Неправильные решения учат нас лучше выбирать правильные в будущем. Это именно тот принцип когда количество рано или поздно приведет к качеству. Но если не начинать, опыт сам по себе не появится.
🏆 Чтобы завтра быть в Амазоне, нужно становиться лидером уже сегодня.
💭 Делитесь, как вы понимаете этот принцип
👀 Когда я готовился к собеседованиям от Амазона, всегда затормаживал на одном принципе лидерства «Are Right A Lot». Дословно переводится «Лидеры правы, очень часто». Если я допускаю баги в коде, значит я не лидер? Или если я ложил продакшн, значит я не лидер?
🧐 Но этот принцип больше про спорные моменты, умеет ли человек находить и доносить правильные решения до других.
🗣 В споре не всегда побеждает самый умный, а зачастую тот, кто своими знаниями, харизмой или своим авторитетом может убедить других. Так вот «Are Right A Lot» - это принцип про предвидение и убеждение. Это может звучать контринтуитивно, но если ты убедил, значит ты прав, потому что история не терпит сослагательных наклонений. Современный бизнес живет слишком быстро чтобы помнить плохое и слишком жаден, чтобы разбрасываться ресурсами, которые могут брать на себя ответственность.
💪 Как тренировать этот принцип или как получить опыт, которым можно продемонстрировать этот принцип?
Учиться отстаивать свою точку зрения, желательно спокойно и с разумными доводами. Даже маленькая победа в копилку, убедил коллегу или подчиненного, это круто. Смог доказать целесообразность своей идей перед командой или руководителем, это еще лучше. Высший пилотаж, если смог убедить бизнес и при этом принести профит компании.
😬 Ошибки тоже хорошо. Неправильные решения учат нас лучше выбирать правильные в будущем. Это именно тот принцип когда количество рано или поздно приведет к качеству. Но если не начинать, опыт сам по себе не появится.
🏆 Чтобы завтра быть в Амазоне, нужно становиться лидером уже сегодня.
💭 Делитесь, как вы понимаете этот принцип
👍8
🧩 Задача 17/200 ✅
Сегодня еще одна классическая задача, которая довольно часто попадается на собеседованиях. Сам встречал ее, когда приходил в Яндекс 🥲
https://leetcode.com/problems/group-anagrams/
Сложность: Средняя, Процент успешных попыток 65.9%
#problemoftheday
Сегодня еще одна классическая задача, которая довольно часто попадается на собеседованиях. Сам встречал ее, когда приходил в Яндекс 🥲
https://leetcode.com/problems/group-anagrams/
Сложность: Средняя, Процент успешных попыток 65.9%
#problemoftheday
LeetCode
Group Anagrams - LeetCode
Can you solve this real interview question? Group Anagrams - Given an array of strings strs, group the anagrams together. You can return the answer in any order.
Example 1:
Input: strs = ["eat","tea","tan","ate","nat","bat"]
Output: [["bat"],["nat"…
Example 1:
Input: strs = ["eat","tea","tan","ate","nat","bat"]
Output: [["bat"],["nat"…
Про коллизии в хэш таблицах 🚚💥🚗
Мы привыкли, что хэштаблицы это магическое место, куда можно складывать элементы и брать оттуда за единицу времени. Есть некая хэш функция, которая вычисляет номер ячейки, но бывает так, что для нескольких разных объектов хэш функция вернет одно и тоже число. Если у вас 100 попугаев и 80 клеток, значит в какой-то клетке будет несколько попугаев. Это и называется коллизия.
Попробуем рассмотреть какие виды устранения коллизии существует и как они реализованы в языках программирования.
Separate chaining ⛓
В данном подходе используется вместо одной ячейки используется двухсвязанный список. Соотвественно когда добавляется элемент, высчитывается номер ячейки, находится соответствующий список и добавляется в конец объект. Такой подход используется во многих языках программирования, в том числе в Java, Go, C++.
Основным минусом данного подхода является то, что если все элементы попадают в один список, то получится длинный связанный список, соотвественно результирующая сложность будет соответствующая.
Давайте посчитает ассимптотику по времени.
⁃ Поиск элемента: в среднем O(1), в худшем случае O(N)
⁃ Добавление элемента: в среднем O(1), в худшем случае O(N)
⁃ Удаление элемента: в среднем O(1), в худшем случае O(N)
В Java есть оптимизация, если список разрастается и становится больше определенного количество элементов, то список превращается в сбалансированное двоичное дерево. Соотвественно сложность уменьшается до O(log N)
https://www.geeksforgeeks.org/hashing-set-2-separate-chaining/
Open addressing 🛤
Второй подход называется открытая адресация. Подход предполагает, что количество элементов для вставки не больше, чем количество ячеек в таблице. Если при вставке элемента оказывается, что ячейка уже занята, то смотрим на ячейку +1, если свободна то вставляем туда, иначе проверяем +2, +3 и так далее. Есть мини оптимизации, позволяющие не линейно прыгать по ячейкам в поисках свободного слота, а квадратично.
Стоит отметить, что удаление здесь это просто флажок (tombstone), означающий что ячейка свободна. Такой хак позволяет продолжать прыгать по ячейкам при поиске элемента, чтобы не остановиться раньше времени.
Сложность по времени.
⁃ Поиск элемента: в среднем O(1), в худшем случае O(N)
⁃ Добавление элемента: в среднем O(1), в худшем случае O(N)
⁃ Удаление элемента: в среднем O(1), в худшем случае O(N)
Такой подход тоже находит свою реализация в языках программирования, таких как Python, Ruby, Rust.
https://www.geeksforgeeks.org/hashing-set-3-open-addressing
Мы привыкли, что хэштаблицы это магическое место, куда можно складывать элементы и брать оттуда за единицу времени. Есть некая хэш функция, которая вычисляет номер ячейки, но бывает так, что для нескольких разных объектов хэш функция вернет одно и тоже число. Если у вас 100 попугаев и 80 клеток, значит в какой-то клетке будет несколько попугаев. Это и называется коллизия.
Попробуем рассмотреть какие виды устранения коллизии существует и как они реализованы в языках программирования.
Separate chaining ⛓
В данном подходе используется вместо одной ячейки используется двухсвязанный список. Соотвественно когда добавляется элемент, высчитывается номер ячейки, находится соответствующий список и добавляется в конец объект. Такой подход используется во многих языках программирования, в том числе в Java, Go, C++.
Основным минусом данного подхода является то, что если все элементы попадают в один список, то получится длинный связанный список, соотвественно результирующая сложность будет соответствующая.
Давайте посчитает ассимптотику по времени.
⁃ Поиск элемента: в среднем O(1), в худшем случае O(N)
⁃ Добавление элемента: в среднем O(1), в худшем случае O(N)
⁃ Удаление элемента: в среднем O(1), в худшем случае O(N)
В Java есть оптимизация, если список разрастается и становится больше определенного количество элементов, то список превращается в сбалансированное двоичное дерево. Соотвественно сложность уменьшается до O(log N)
https://www.geeksforgeeks.org/hashing-set-2-separate-chaining/
Open addressing 🛤
Второй подход называется открытая адресация. Подход предполагает, что количество элементов для вставки не больше, чем количество ячеек в таблице. Если при вставке элемента оказывается, что ячейка уже занята, то смотрим на ячейку +1, если свободна то вставляем туда, иначе проверяем +2, +3 и так далее. Есть мини оптимизации, позволяющие не линейно прыгать по ячейкам в поисках свободного слота, а квадратично.
Стоит отметить, что удаление здесь это просто флажок (tombstone), означающий что ячейка свободна. Такой хак позволяет продолжать прыгать по ячейкам при поиске элемента, чтобы не остановиться раньше времени.
Сложность по времени.
⁃ Поиск элемента: в среднем O(1), в худшем случае O(N)
⁃ Добавление элемента: в среднем O(1), в худшем случае O(N)
⁃ Удаление элемента: в среднем O(1), в худшем случае O(N)
Такой подход тоже находит свою реализация в языках программирования, таких как Python, Ruby, Rust.
https://www.geeksforgeeks.org/hashing-set-3-open-addressing
GeeksforGeeks
Separate Chaining Collision Handling Technique in Hashing - GeeksforGeeks
Your All-in-One Learning Portal: GeeksforGeeks is a comprehensive educational platform that empowers learners across domains-spanning computer science and programming, school education, upskilling, commerce, software tools, competitive exams, and more.
🔥4
🧩 Задача 18/200 ✅
https://leetcode.com/problems/top-k-frequent-elements/
Сложность: Средняя, Процент успешных попыток 64.8%
Требование внутри задачи, сложность должна быть меньше O(N log N), где N это длина входного массива.
#problemoftheday
https://leetcode.com/problems/top-k-frequent-elements/
Сложность: Средняя, Процент успешных попыток 64.8%
Требование внутри задачи, сложность должна быть меньше O(N log N), где N это длина входного массива.
#problemoftheday
LeetCode
Top K Frequent Elements - LeetCode
Can you solve this real interview question? Top K Frequent Elements - Given an integer array nums and an integer k, return the k most frequent elements. You may return the answer in any order.
Example 1:
Input: nums = [1,1,1,2,2,3], k = 2
Output: [1…
Example 1:
Input: nums = [1,1,1,2,2,3], k = 2
Output: [1…
Forwarded from Opportunity for you by FutureToday.KZ (Talap Kenzhebaev)
Manga.pdf
204.8 KB
Cracking the MAANGM technical
interviews
Tips and Preparation resources
interviews
Tips and Preparation resources
🔥5🤔1
Осторожно, конкурс!
🤖 Задачи решать интереснее, когда есть материальные плюшки, поэтому запускаю конкурс с призом «Месячный премиум в LeetCode». Давно хотел попробовать такой формат. Если эксперимент пройдет успешно, конкурсы будут чаще, разнообразнее, а призы более ценными 🎁.
🎯 Что нужно сделать:
⁃ Зарегистрироваться по форме ниже
⁃ Решать ежедневные задачки, публикуемые в этом канале с тэгом #problemoftheday
⁃ Чтобы задача засчиталась, нужно ее решить в течении 24 часов с момента ее публикации
⁃ Срок с 1 ноября до 30 ноября включтельно, итоги подведем 1 декабря
⁃ Для чистоты эксперимента, я буду модерировать, но не участвовать
📊 Правила подсчета баллов:
⁃ Сложные задачи оцениваются в 1.5 балла, средние в 1, легкие в 0.5
⁃ При равных суммах баллов, будет оцениваться количество задач, при всех равных закину доп задачи или же просто раздам несколько премиумов (но это не точно 😈)
⁃ В конце каждой недели буду публиковать промежуточные итоги
🤞 Верю в честность и сугубо спортивный интерес ребят, надеюсь, что не придется решать спорные моменты с читингом.
Ссылка для регистрации:
https://forms.gle/FgiFDYFYZi1sRu1J7
Удачи 🦾
🤖 Задачи решать интереснее, когда есть материальные плюшки, поэтому запускаю конкурс с призом «Месячный премиум в LeetCode». Давно хотел попробовать такой формат. Если эксперимент пройдет успешно, конкурсы будут чаще, разнообразнее, а призы более ценными 🎁.
🎯 Что нужно сделать:
⁃ Зарегистрироваться по форме ниже
⁃ Решать ежедневные задачки, публикуемые в этом канале с тэгом #problemoftheday
⁃ Чтобы задача засчиталась, нужно ее решить в течении 24 часов с момента ее публикации
⁃ Срок с 1 ноября до 30 ноября включтельно, итоги подведем 1 декабря
⁃ Для чистоты эксперимента, я буду модерировать, но не участвовать
📊 Правила подсчета баллов:
⁃ Сложные задачи оцениваются в 1.5 балла, средние в 1, легкие в 0.5
⁃ При равных суммах баллов, будет оцениваться количество задач, при всех равных закину доп задачи или же просто раздам несколько премиумов (но это не точно 😈)
⁃ В конце каждой недели буду публиковать промежуточные итоги
🤞 Верю в честность и сугубо спортивный интерес ребят, надеюсь, что не придется решать спорные моменты с читингом.
Ссылка для регистрации:
https://forms.gle/FgiFDYFYZi1sRu1J7
Удачи 🦾
🔥11👍4
Тимур Тибеев | BigTechDream
Осторожно, конкурс! 🤖 Задачи решать интереснее, когда есть материальные плюшки, поэтому запускаю конкурс с призом «Месячный премиум в LeetCode». Давно хотел попробовать такой формат. Если эксперимент пройдет успешно, конкурсы будут чаще, разнообразнее, а…
🧩 Задача 19/200 ✅
Первая задача месячного контеста 💣
https://leetcode.com/problems/valid-palindrome/
Сложность: Легкая, Процент успешных попыток 43.6%
#problemoftheday
Первая задача месячного контеста 💣
https://leetcode.com/problems/valid-palindrome/
Сложность: Легкая, Процент успешных попыток 43.6%
#problemoftheday
LeetCode
Valid Palindrome - LeetCode
Can you solve this real interview question? Valid Palindrome - A phrase is a palindrome if, after converting all uppercase letters into lowercase letters and removing all non-alphanumeric characters, it reads the same forward and backward. Alphanumeric characters…
🤔2👍1
Тимур Тибеев | BigTechDream
Осторожно, конкурс! 🤖 Задачи решать интереснее, когда есть материальные плюшки, поэтому запускаю конкурс с призом «Месячный премиум в LeetCode». Давно хотел попробовать такой формат. Если эксперимент пройдет успешно, конкурсы будут чаще, разнообразнее, а…
❗️Небольшое уточнение❗️
Решение скидывать не нужно, буду мониторить по профилю в leetcode, который указали в форме регистрации
Всем хорошего дня☺️
Решение скидывать не нужно, буду мониторить по профилю в leetcode, который указали в форме регистрации
Всем хорошего дня
Please open Telegram to view this post
VIEW IN TELEGRAM
🧩 Задача 20/200 ✅
https://leetcode.com/problems/merge-two-sorted-lists/
Сложность: Легкая, Процент успешных попыток 61.8%
#problemoftheday
https://leetcode.com/problems/merge-two-sorted-lists/
Сложность: Легкая, Процент успешных попыток 61.8%
#problemoftheday
LeetCode
Merge Two Sorted Lists - LeetCode
Can you solve this real interview question? Merge Two Sorted Lists - You are given the heads of two sorted linked lists list1 and list2.
Merge the two lists into one sorted list. The list should be made by splicing together the nodes of the first two lists.…
Merge the two lists into one sorted list. The list should be made by splicing together the nodes of the first two lists.…
Тимур Тибеев | BigTechDream
🧩 Задача 19/200 ✅ Первая задача месячного контеста 💣 https://leetcode.com/problems/valid-palindrome/ Сложность: Легкая, Процент успешных попыток 43.6% #problemoftheday
Всем привет! 👋
Тестирую скрипт для проверки сдавших задание. Все кто сдал, в списке в комментариях.
Если вы также сдали, но вас почему-то нет в списке, напишите в комментариях свои данные, буду точечно решать проблемы.
Тестирую скрипт для проверки сдавших задание. Все кто сдал, в списке в комментариях.
Если вы также сдали, но вас почему-то нет в списке, напишите в комментариях свои данные, буду точечно решать проблемы.
Тимур Тибеев | BigTechDream
Осторожно, конкурс! 🤖 Задачи решать интереснее, когда есть материальные плюшки, поэтому запускаю конкурс с призом «Месячный премиум в LeetCode». Давно хотел попробовать такой формат. Если эксперимент пройдет успешно, конкурсы будут чаще, разнообразнее, а…
❗️еще один момент❗️
Вполне вероятно, что какие то задачи вы уже решали. Просто переотравьте вновь, чтобы было в последних принятых, тогда смогу скриптом подхватить.
Вполне вероятно, что какие то задачи вы уже решали. Просто переотравьте вновь, чтобы было в последних принятых, тогда смогу скриптом подхватить.
Как не пропустить в челюсть
👷 Замечали ли вы, как утопичны собеседования по проектированию систем, они же архитектурные секции. Например тебе дают задачу, задизайнить аналог Инстаграмма. Начинаешь считать трафик, объемы хранимой информации, рисовать кучу микросервисов, подбирать множество баз данных, разные уровни балансировки, асинхронные очереди и так далее. По итогу получаешь большую и детальную схему, которая хороша в теории, но сразу же ломается на практике. Как говорил Майк Тайсон «У всех есть план... до первого удара в челюсть…».
🏗 Парадокс заключается в том, что Твиттер, Инстаграмм не начинали сразу со архитектуры, которая выдержит сотни тысяч запросов в секунду. Все стартовали с маленьких монолитов, с простенькой базой и росли пропорционально нагрузке. На каждом этапе развития они выявляли узкие горлышки и устраняли их за несколько месяцев до предполагаемого коллапса.
🧱 Реальность работает по другому. Нынешний мир живет категориями MVP. Бизнес хочет уметь дешево проверить идею и только при наличии доказанного спроса, вкладывать свои миллионы на разработку. Поэтому когда компания решит делать местный аналог инстаграмма, никто не выделит столько ресурсов, сколько нарисовано на идеальной схеме.
🪚 Чтобы убедиться в этом, можно поспрашивать чем занимаются или чем занимались разработчики востребованных сервисов. Вангую, что довольно часто можно будет услышать ответ «Распиливаем монолит на микросервисы».
😍 Ожидания - пишем все на микросервисах, реализуем оркестрирование систем и используем зоопарк баз данных.
😐 Реальность - пишем монолит, используем простую инфраструктуру и 1-2 базы данных. И если все норм, спрос есть, то усложняем схему.
💰 Как техническому специалисту мне не хочется это признавать, но прибыль компании намного важнее популярных технологий и идеальной инфраструктуры. Поэтому периодически ловлю когнитивный диссонанс на собесах по дизайну систем.
👷 Замечали ли вы, как утопичны собеседования по проектированию систем, они же архитектурные секции. Например тебе дают задачу, задизайнить аналог Инстаграмма. Начинаешь считать трафик, объемы хранимой информации, рисовать кучу микросервисов, подбирать множество баз данных, разные уровни балансировки, асинхронные очереди и так далее. По итогу получаешь большую и детальную схему, которая хороша в теории, но сразу же ломается на практике. Как говорил Майк Тайсон «У всех есть план... до первого удара в челюсть…».
🏗 Парадокс заключается в том, что Твиттер, Инстаграмм не начинали сразу со архитектуры, которая выдержит сотни тысяч запросов в секунду. Все стартовали с маленьких монолитов, с простенькой базой и росли пропорционально нагрузке. На каждом этапе развития они выявляли узкие горлышки и устраняли их за несколько месяцев до предполагаемого коллапса.
🧱 Реальность работает по другому. Нынешний мир живет категориями MVP. Бизнес хочет уметь дешево проверить идею и только при наличии доказанного спроса, вкладывать свои миллионы на разработку. Поэтому когда компания решит делать местный аналог инстаграмма, никто не выделит столько ресурсов, сколько нарисовано на идеальной схеме.
🪚 Чтобы убедиться в этом, можно поспрашивать чем занимаются или чем занимались разработчики востребованных сервисов. Вангую, что довольно часто можно будет услышать ответ «Распиливаем монолит на микросервисы».
😍 Ожидания - пишем все на микросервисах, реализуем оркестрирование систем и используем зоопарк баз данных.
😐 Реальность - пишем монолит, используем простую инфраструктуру и 1-2 базы данных. И если все норм, спрос есть, то усложняем схему.
💰 Как техническому специалисту мне не хочется это признавать, но прибыль компании намного важнее популярных технологий и идеальной инфраструктуры. Поэтому периодически ловлю когнитивный диссонанс на собесах по дизайну систем.
👍7🔥3
🧩 Задача 21/200 ✅
https://leetcode.com/problems/container-with-most-water/
Сложность: Средняя, Процент успешных попыток 54.3%
#problemoftheday
https://leetcode.com/problems/container-with-most-water/
Сложность: Средняя, Процент успешных попыток 54.3%
#problemoftheday
LeetCode
Container With Most Water - LeetCode
Can you solve this real interview question? Container With Most Water - You are given an integer array height of length n. There are n vertical lines drawn such that the two endpoints of the ith line are (i, 0) and (i, height[i]).
Find two lines that together…
Find two lines that together…
🔥2
🧐 Какая сложность по времени у метода выше, где N это длина массив?
Anonymous Quiz
10%
O(N^2)
6%
O(2^N)
81%
O(N)
2%
O(log N)
🥱9👍1
🧩 Задача 22/200 ✅
Пятничный хардкор🤘
https://leetcode.com/problems/trapping-rain-water/
Сложность: Сложная, Процент успешных попыток 58.8%
#problemoftheday
Пятничный хардкор
https://leetcode.com/problems/trapping-rain-water/
Сложность: Сложная, Процент успешных попыток 58.8%
#problemoftheday
Please open Telegram to view this post
VIEW IN TELEGRAM
LeetCode
Trapping Rain Water - LeetCode
Can you solve this real interview question? Trapping Rain Water - Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it can trap after raining.
Example 1:
[https://assets.leetcode.com…
Example 1:
[https://assets.leetcode.com…
👍3😱3