Welcome to the AWS Practice Tech Skills repository! This repository is designed to help you become a top performer on platforms like HackerRank by mastering the basics of problem-solving using Ruby, Python, and Bash. The focus is on solving technical challenges without relying on external libraries, Wi-Fi, or AI assistance—just pure coding skills and standard libraries.
- Develop strong problem-solving skills using Ruby, Python, and Bash.
- Master AWS-related technical challenges.
- Focus on input/output tasks and deployment scenarios.
- Build confidence in solving tricky problems with minimal resources.
- Arrays: Manipulation, iteration, and transformations.
- Strings: Parsing, formatting, and encoding.
- Hashes: Key-value operations, merging, and filtering.
- Methods: Writing reusable and efficient code.
- Logic: Conditional statements and loops.
- Expressions: Filtering and advanced logic.
Write a Ruby script that reads a list of numbers from input, filters out even numbers, and prints the sum of the remaining odd numbers.
- Lists: Comprehensions, slicing, and transformations.
- Strings: Manipulation, pattern matching, and formatting.
- Dictionaries: Key-value operations and filtering.
- Functions: Writing reusable and modular code.
- Control Flow: Loops, conditionals, and exception handling.
Write a Python script that reads a string, counts the frequency of each character, and prints the result in descending order of frequency.
- File manipulation: Reading, writing, and processing files.
- Text processing: Using
awk
,sed
, andgrep
. - Scripting: Automating tasks with loops and conditionals.
- System commands: Interacting with the shell and system utilities.
Write a Bash script that takes a directory path as input, counts the number of files in the directory, and prints the result.
- Learn how to deploy simple scripts to AWS Lambda.
- Practice setting up AWS CLI for automation.
- Explore basic IAM roles and permissions for secure deployments.
- Start with the
ruby/
andpython/
directories for beginner-friendly tasks. - Gradually move to more advanced challenges.
- Test your solutions locally and deploy them to AWS for real-world practice.
Happy coding! 🚀
Важно! Ты должен очень чётко сформулировать речь и понимать, что именно проверяют на техническом интервью в Amazon для SysDE (или DevOps/SRE-инженеров): это не просто кодинг, а коммуникация, мышление и продакшн-инженерия в реальном времени. Перед вами представлена моя памятка о том, как готовиться по каждому блоку, чтобы соответствовать "Amazon bar".
- Читаемый, модульный код.
- Использование структур данных по назначению.
- Чёткое именование переменных.
- Умение объяснять, почему ты так пишешь.
-
Leetcode Medium+: arrays, strings, trees, graphs, hashmaps, sliding window, dynamic programming.
-
Писать код в формате интервью:
- Комментарии голосом.
- Решение сначала простое → потом оптимизация.
“Я бы хотел начать с наивного решения, чтобы убедиться, что мы на одной волне, а затем оптимизирую до O(n log n).”
- “Design a URL shortening system”
- “How would you scale log processing at 10M events/sec?”
- “How would you test and debug a flaky CI pipeline?”
-
Задавай уточняющие вопросы:
- Какой масштаб системы?
- Какие допущения можно сделать?
- Какие SLA у нас?
- Не боишься сказать “я не знаю, но я выясню вот так”
- Чётко структурируешь: сначала high-level, потом углубляешься.
- Что ты сделаешь, если 100% CPU?
- Как ты отследишь утечку памяти?
- Как находишь runaway-процесс?
-
Работа с
top
,htop
,strace
,lsof
,journalctl
,systemctl
,du -sh
,vmstat
,iotop
-
Диагностика:
kill -9 $(ps aux | grep badapp)
df -h
,free -m
,dmesg | tail
-
Логи:
grep
,awk
,tail -f
, лог-роутинг.
- Логинись в EC2 instance, запускай "симулированные проблемы"
- Устрой себе mini-fire drill: “почему тормозит база?”, “куда ушло место?”
- Реальные инциденты: что произошло, как ты отреагировал.
- Что ты автоматизировал: алерты, self-healing, графаны.
- Как писал RCA: факты, причина, действия, follow-ups.
- "У нас легло хранилище, я отреагировал через alertmanager + понял, что была переполнена очередь Kafka. Я увеличил партиции, и потом добавил метрику lag через Prometheus."
Каждая история =
- Situation — где ты был, контекст.
- Task — твоя задача/проблема.
- Action — что ты делал конкретно.
- Result — каков был результат, чему научился.
- Dive Deep
- Ownership
- Bias for Action
- Are Right, A Lot
- Insist on the Highest Standards
День | Что делать |
---|---|
1 | 2 задачи с Leetcode + 1 STAR история |
2 | Troubleshooting EC2 / Linux drills |
3 | System design: “rate limiter”, “log pipeline” |
4 | Написать RCA по фиктивному инциденту |
5 | Повторить AWS basics (EC2, S3, CloudWatch, etc.) |