#mock #interview #coding
Делюсь обещанной записью mock interview и общими комментариями, которые не вошли в видео:
Что понравилось:
1. Кандидат смог пройти, относительно неплохо, через первые этапы неизведанности
2. Кандидат собрал часть требований и поговорил об ограничениях
3. Кандидат во время поднял вопрос проблемы с аудио
Из того, над чем работать:
Потренировать навык сбора требований к решению задачи, в частности,
1. Дизайн API - request/response
2. Уточнение scope задачи и если он меняется на протяжении интервью
и по кодингу, навыки:
1. Написание переиспоьзуемого и поддерживаемого кода
2. Применение алгоритмов в практике
https://www.youtube.com/watch?v=xvbeHygMMvQ
Делюсь обещанной записью mock interview и общими комментариями, которые не вошли в видео:
Что понравилось:
1. Кандидат смог пройти, относительно неплохо, через первые этапы неизведанности
2. Кандидат собрал часть требований и поговорил об ограничениях
3. Кандидат во время поднял вопрос проблемы с аудио
Из того, над чем работать:
Потренировать навык сбора требований к решению задачи, в частности,
1. Дизайн API - request/response
2. Уточнение scope задачи и если он меняется на протяжении интервью
и по кодингу, навыки:
1. Написание переиспоьзуемого и поддерживаемого кода
2. Применение алгоритмов в практике
https://www.youtube.com/watch?v=xvbeHygMMvQ
YouTube
Mock Interview - Coding #4 [ENG]
Что понравилось:
1. Кандидат смог пройти, относительно неплохо, через первые этапы неизведанности
2. Кандидат собрал часть требований и поговорил об ограничениях
3. Кандидат во время поднял вопрос проблемы с аудио
Из того, над чем работать:
Потренировать…
1. Кандидат смог пройти, относительно неплохо, через первые этапы неизведанности
2. Кандидат собрал часть требований и поговорил об ограничениях
3. Кандидат во время поднял вопрос проблемы с аудио
Из того, над чем работать:
Потренировать…
#coding #algorithm #dynamic #programming #interview
Замечательное объяснение подхода решения задач через Динамическое Программирование!
Если знаете еще хорошие ресурсы (видео, статьи), то поделитесь в комментах, для меня и других
https://youtu.be/aPQY__2H3tE
Замечательное объяснение подхода решения задач через Динамическое Программирование!
Если знаете еще хорошие ресурсы (видео, статьи), то поделитесь в комментах, для меня и других
https://youtu.be/aPQY__2H3tE
YouTube
5 Simple Steps for Solving Dynamic Programming Problems
In this video, we go over five steps that you can use as a framework to solve dynamic programming problems. You will see how these steps are applied to two specific dynamic programming problems: the longest increasing subsequence problem and optimal box stacking.…
#interviews #coding #algorithms
Top 10 Dynamic Programming Problems
https://www.techiedelight.com/top-10-dynamic-programming-problems/
Top 10 Dynamic Programming Problems
https://www.techiedelight.com/top-10-dynamic-programming-problems/
Techie Delight
Top 10 Dynamic Programming Problems | Techie Delight
This article list out top 10 dynamic programming problems and also provides their solutions in C/C++. We recommend going through them before facing any technical interview.
#interview #coding #algorithms
Blind 75 LeetCode Questions - LeetCode Discuss
https://leetcode.com/discuss/general-discussion/460599/blind-75-leetcode-questions
Blind 75 LeetCode Questions - LeetCode Discuss
https://leetcode.com/discuss/general-discussion/460599/blind-75-leetcode-questions
LeetCode
Blind 75 LeetCode Questions - Discuss - LeetCode
Hi folks,
I found a list of Blind 75 Leetcode problems. Sharing it as I found it very useful.
Connect with me: https://linktr.ee/tech.krishnadey
Happy
I found a list of Blind 75 Leetcode problems. Sharing it as I found it very useful.
Connect with me: https://linktr.ee/tech.krishnadey
Happy
#interview #coding
Для тех, кто начал втягиваться в интервью, статья описывающая подход поиска решения:
https://malisper.me/an-algorithm-for-passing-programming-interviews/
Для тех, кто начал втягиваться в интервью, статья описывающая подход поиска решения:
https://malisper.me/an-algorithm-for-passing-programming-interviews/
malisper.me
An Algorithm for Passing Programming Interviews - malisper.me
Over the past few years, I’ve interviewed with a dozen or so companies and have completed ~50 or so individual algorithm problems. I’m frequently given feedback that I did a great job at the algorithms problem. In this post, I’m going to share how exactly…
👍10
#interview #coding
В различных пабликах вижу вопросы типа: «когда мне дали задачку Х, я сразу решил задачку оптимальным способом. Что я мог сделать иначе/лучше?»
Во время интервью вы должны показать, что вы не просто умеете решать задачки, знаете алгоритмы и структуры данных, а что вы умеете применять правильные решения в нужных ситуациях, и без over-engineering.
Поэтому, прежде чем писать решение задачки, даже если оно простое, очень важно собрать информацию о задаче.
Часто задачку дают, не дав всю информацию до конца, и кандидат либо уточнит заранее, либо сделает собственные допущения - то есть, сделает то что надумал у себя а голове, а не то, что просит его собеседник. Для Миддлов и выше это красный флаг, если человек рвётся в бой.
Поэтому прежде чем предлагать решение, удостоверься, что понимаешь что нужно сделать. В идеале если сперва проговариваешь решение, прежде чем бросаешься писать код, и только потом пишешь код. Прежде чем писать код, так же желательно поговорить тест кейсы, чтобы удостовериться что решение покрывают крайние случаи, и уточнить что предлагаемая сложность допустима. После всех этапов выше, написание кода - дело техники. Может занять минут 5-10.
На интервью важно показать, что ты не просто решаешь задачки, а показать как ты решаешь технические проблемы: как собираешь требования, как проясняешь неясности, как дизайнишь решение, и как удостоверяешься, что решение точно работает. И только потом пишешь код.
Все это можно перевести на язык Лидерских принципов в Амазоне: Are right a lot, Deep Dive, Think Big, Earn trust, Customer Obsession, and etc.
Фреймворк по которому я работаю:
1. Сбор информации: уточняющиеся вопросы о задаче, о том где и как ее применяют, об ограничениях, размерах, и типах данных (int, star, negative positive, uppercase lowercase, punctuation, etc)
2. Поняв задачу в деталях, я предлагаю несколько тест кейсов, чтобы удостовериться наверняка, что я понял задачу точно. Я покрываю такие вопросы как какие данные приходят на вход и какие на выход, то есть как устроен API. В этом есть несколько плюсов: ты даешь возможность собеседнику подсказать тебе если ты что то недопонял и что ты ты точно понимаешь и осознаешь крайние случаи
3. Поняв задачу, включая тест кейсы, предлагаешь решения и их сложности, и проверяешь у собеседника, что это вписывается в его ожидания. Тем самым, показав свою зрелость, ты даёшь собеседнику возможность повысить тебе сложность раньше, и тем самым повысить свои шансы на то, что он тебя уже будет планировать на Bar Rasing level
4. Только после того как ты поймёшь, что ты понял задачу, написал тест кейсы, проговорил это все с интервьюером, и он дал тебе зелёный свет писать код, то только тогда можно писать код.
5. Следующий пункт очень важен: написав решение задачки, ты используешь выше-приведённые тест кейсы, чтобы прогнать их через своё решение, где шаг за шагом ты объясняешь значение каждой переменной и как они меняются. Это даёт сигнал собеседнику, что ты умеешь проверять свои решения и исправлять ошибки если таковы имеются.
Рекомендую решать литкод задачки, используя этапы выше, чтобы натренировать этот навык, и на самом интервью у вас все будет куда более естественно и гладко.
Удачи на интервью!
Вопросы пишите в комментариях.
В различных пабликах вижу вопросы типа: «когда мне дали задачку Х, я сразу решил задачку оптимальным способом. Что я мог сделать иначе/лучше?»
Во время интервью вы должны показать, что вы не просто умеете решать задачки, знаете алгоритмы и структуры данных, а что вы умеете применять правильные решения в нужных ситуациях, и без over-engineering.
Поэтому, прежде чем писать решение задачки, даже если оно простое, очень важно собрать информацию о задаче.
Часто задачку дают, не дав всю информацию до конца, и кандидат либо уточнит заранее, либо сделает собственные допущения - то есть, сделает то что надумал у себя а голове, а не то, что просит его собеседник. Для Миддлов и выше это красный флаг, если человек рвётся в бой.
Поэтому прежде чем предлагать решение, удостоверься, что понимаешь что нужно сделать. В идеале если сперва проговариваешь решение, прежде чем бросаешься писать код, и только потом пишешь код. Прежде чем писать код, так же желательно поговорить тест кейсы, чтобы удостовериться что решение покрывают крайние случаи, и уточнить что предлагаемая сложность допустима. После всех этапов выше, написание кода - дело техники. Может занять минут 5-10.
На интервью важно показать, что ты не просто решаешь задачки, а показать как ты решаешь технические проблемы: как собираешь требования, как проясняешь неясности, как дизайнишь решение, и как удостоверяешься, что решение точно работает. И только потом пишешь код.
Все это можно перевести на язык Лидерских принципов в Амазоне: Are right a lot, Deep Dive, Think Big, Earn trust, Customer Obsession, and etc.
Фреймворк по которому я работаю:
1. Сбор информации: уточняющиеся вопросы о задаче, о том где и как ее применяют, об ограничениях, размерах, и типах данных (int, star, negative positive, uppercase lowercase, punctuation, etc)
2. Поняв задачу в деталях, я предлагаю несколько тест кейсов, чтобы удостовериться наверняка, что я понял задачу точно. Я покрываю такие вопросы как какие данные приходят на вход и какие на выход, то есть как устроен API. В этом есть несколько плюсов: ты даешь возможность собеседнику подсказать тебе если ты что то недопонял и что ты ты точно понимаешь и осознаешь крайние случаи
3. Поняв задачу, включая тест кейсы, предлагаешь решения и их сложности, и проверяешь у собеседника, что это вписывается в его ожидания. Тем самым, показав свою зрелость, ты даёшь собеседнику возможность повысить тебе сложность раньше, и тем самым повысить свои шансы на то, что он тебя уже будет планировать на Bar Rasing level
4. Только после того как ты поймёшь, что ты понял задачу, написал тест кейсы, проговорил это все с интервьюером, и он дал тебе зелёный свет писать код, то только тогда можно писать код.
5. Следующий пункт очень важен: написав решение задачки, ты используешь выше-приведённые тест кейсы, чтобы прогнать их через своё решение, где шаг за шагом ты объясняешь значение каждой переменной и как они меняются. Это даёт сигнал собеседнику, что ты умеешь проверять свои решения и исправлять ошибки если таковы имеются.
Рекомендую решать литкод задачки, используя этапы выше, чтобы натренировать этот навык, и на самом интервью у вас все будет куда более естественно и гладко.
Удачи на интервью!
Вопросы пишите в комментариях.
👍17❤2
👍8
#interview #coding
Для тех кто застрял на легких задачках в ЛитКоде и думает что программирование (или дорога в FANG) это не его: Попробуйте изменить подход.
1. То как решаешь задачки. 20-20-20. Решай задачу 20 минут, если не решил, то иди в дискуссии и изучай как другие решают это задачу, стараясь понять решение. Последние 20 минут используй на то, чтобы решить задачку еще раз несмотря в решение. Это самый эффективный способ решения задач. Важно соблюдать это правило и не тратить часы чтобы решить самостоятельно. Не забывай про цель - цель не доказать что ты всемогущий/-ая, а набить руку и визуальную библиотеку
2. Введи отдельно сессию, где ты разбираешь сложные алгоритмы. Старайся понять какую проблему они решают и как. Это может быть книга Сэджвика или Ютуб каналы, где разбирают как решать задачи, или курс по Алгоритмам от MIT. Где что то непонятно, подключай коммьюнити или GPT. Цель: углубиться в сложные алгоритмы и перестать их бояться.
3. Решай Моки - набивай опыт по прохождению интервью с людьми. Прохождение интервью с человеком может быть легче, так как задача собеседника направлять кандидата если тот застрял. Умение слушать собеседника - это то чего ты не получишь просто решая задачи на ЛитКоде. Более того, интервью это про беседу - коммуникацию с другим человеком.
В конце концов, тебе может повезти и у тебя никто не будет спрашивать Харды и ограничатся Медиум задачами.
Удачи в подготовке к интервью!
Для тех кто застрял на легких задачках в ЛитКоде и думает что программирование (или дорога в FANG) это не его: Попробуйте изменить подход.
1. То как решаешь задачки. 20-20-20. Решай задачу 20 минут, если не решил, то иди в дискуссии и изучай как другие решают это задачу, стараясь понять решение. Последние 20 минут используй на то, чтобы решить задачку еще раз несмотря в решение. Это самый эффективный способ решения задач. Важно соблюдать это правило и не тратить часы чтобы решить самостоятельно. Не забывай про цель - цель не доказать что ты всемогущий/-ая, а набить руку и визуальную библиотеку
2. Введи отдельно сессию, где ты разбираешь сложные алгоритмы. Старайся понять какую проблему они решают и как. Это может быть книга Сэджвика или Ютуб каналы, где разбирают как решать задачи, или курс по Алгоритмам от MIT. Где что то непонятно, подключай коммьюнити или GPT. Цель: углубиться в сложные алгоритмы и перестать их бояться.
3. Решай Моки - набивай опыт по прохождению интервью с людьми. Прохождение интервью с человеком может быть легче, так как задача собеседника направлять кандидата если тот застрял. Умение слушать собеседника - это то чего ты не получишь просто решая задачи на ЛитКоде. Более того, интервью это про беседу - коммуникацию с другим человеком.
В конце концов, тебе может повезти и у тебя никто не будет спрашивать Харды и ограничатся Медиум задачами.
Удачи в подготовке к интервью!
🔥18❤3👍1
#ai #coding #assistants #LearnAndBeCurious
Решил попробовать codeium - по слухам хороший помощник в написании кода. Если еще не пробовали, то не теряйте время ✋. Пока сыроват. По крайней мере в разработке на Python.
Я ожидал, что интерфейс будет предложен таким образом, что от меня нужно будет описывать бизнес логику, а он постепенно будет развивать и писать код. Вообще не так 😅 Он вообще не понимает чего я от него хочу, иногда уходит в рекурсию, или просто пишет бессмысленный бойлерплейт игнорируя важные шаги со словами "add your code here".
## Теряеет контекст 🕵️
Вроде бы должен учитывать контекст, но как то криво. Например, на этом тесте, он обламывается в двух местах:
1. app.config - это датакласс помеченный как frozen=True. Непонятно почем просит модифицировать таким образом.
2. или
## Деградация 📉
Когда попросил написать что-то более далекое чем Hello-world, то его вообще заглючело
Вроде бы обещали и авто комплит, и написание тестов, и тд. Но кроме банальных вещей он ничего не умеет. В итоге получил встроенный ChatGPT, который нужно "коучить" самостоятельно. 🫠
Если у меня будет выбор между таким помощником и джуном с горящими глазами, то выбор очевиден. Джун - инвестиция 🏆, AI Assistant - работа с идиотом / черная дыра. 🫣
Тем не менее, думаю еще дам шанс - возможно я слишком много хочу 😇
У кого нибудь есть положительный опыт? Поделитесь, плс, мб я что то делаю не так 🤧
Решил попробовать codeium - по слухам хороший помощник в написании кода. Если еще не пробовали, то не теряйте время ✋. Пока сыроват. По крайней мере в разработке на Python.
Я ожидал, что интерфейс будет предложен таким образом, что от меня нужно будет описывать бизнес логику, а он постепенно будет развивать и писать код. Вообще не так 😅 Он вообще не понимает чего я от него хочу, иногда уходит в рекурсию, или просто пишет бессмысленный бойлерплейт игнорируя важные шаги со словами "add your code here".
## Теряеет контекст 🕵️
Вроде бы должен учитывать контекст, но как то криво. Например, на этом тесте, он обламывается в двух местах:
def test_file_serialization(app):
app.config.captured_data_path = "test.json"
app.run()
# Add your assertion here
1. app.config - это датакласс помеченный как frozen=True. Непонятно почем просит модифицировать таким образом.
2. или
add your assertion here - а в чем тогда помощь? :)) где то потерял контекст (а проект вообще простой - два файлика по 5-10 строк в каждом## Деградация 📉
Когда попросил написать что-то более далекое чем Hello-world, то его вообще заглючело
def main():
# create an application that can be run in SageMaker Processing Jobs
# make sure it runs in multiprocessing using Ray framework
import ray
ray.init(address="auto")
# read the config file
# config = Config.read("config.json")
# read the config file
# config = Config.read("config.json")
# read the config file
# config = Config.read("config.json")
# read the config file
# config = Config.read("config.json")
# read the config file
# config = Config.read("config.json")
# read the config file
# config = Config.read("config.json")
# read the config file
# config = Config.read("config.json")
# read the config file
# config = Config.read("config.json")
Вроде бы обещали и авто комплит, и написание тестов, и тд. Но кроме банальных вещей он ничего не умеет. В итоге получил встроенный ChatGPT, который нужно "коучить" самостоятельно. 🫠
Если у меня будет выбор между таким помощником и джуном с горящими глазами, то выбор очевиден. Джун - инвестиция 🏆, AI Assistant - работа с идиотом / черная дыра. 🫣
Тем не менее, думаю еще дам шанс - возможно я слишком много хочу 😇
У кого нибудь есть положительный опыт? Поделитесь, плс, мб я что то делаю не так 🤧
🎉3❤1👍1
#chilling #amazon, #llm #coding #productivity
🚀 5 способов как GenAI увеличивает мою продуктивность разработчика в Amazon
Привет, друзья! С тех пор как я начал использовать AI-помощников, моя продуктивность выросла минимум в 5 раз. Делюсь топ-5 сценариев использования:
💪 Plugin Amazon Q в IntelliJ (разрешенный в Amazon)
• Помогает с шаблонным кодом: моки, логи и обработка ошибок в стиле проекта
• Ускоряет работу примерно в 3 раза
• Правда, для других задач не особо полезен
💡 Чат Ассистенты для реализации идей
• Превращаю свои задумки в рабочий код
• Продуктивность выше в 5 раз
🧪 Написание тестов
• Генерирует все виды: unit, integration и другие
• Экономит время в 10 раз
☁️ AWS CLI команды
• Практически не открываю официальную документацию
• Ускоряет работу в 50 раз
🛠️ Bash скрипты
• Пишет читаемый, безошибочный, продакшн-готовый код
• Продуктивность выше в 100 раз
Кстати, между нами: Claude все еще намного круче, чем Amazon Q 😉
🚀 5 способов как GenAI увеличивает мою продуктивность разработчика в Amazon
Привет, друзья! С тех пор как я начал использовать AI-помощников, моя продуктивность выросла минимум в 5 раз. Делюсь топ-5 сценариев использования:
💪 Plugin Amazon Q в IntelliJ (разрешенный в Amazon)
• Помогает с шаблонным кодом: моки, логи и обработка ошибок в стиле проекта
• Ускоряет работу примерно в 3 раза
• Правда, для других задач не особо полезен
💡 Чат Ассистенты для реализации идей
• Превращаю свои задумки в рабочий код
• Продуктивность выше в 5 раз
🧪 Написание тестов
• Генерирует все виды: unit, integration и другие
• Экономит время в 10 раз
☁️ AWS CLI команды
• Практически не открываю официальную документацию
• Ускоряет работу в 50 раз
🛠️ Bash скрипты
• Пишет читаемый, безошибочный, продакшн-готовый код
• Продуктивность выше в 100 раз
Кстати, между нами: Claude все еще намного круче, чем Amazon Q 😉
👍3🔥1