AWS Interview Prep

AWS Talking Points — Interview Prep (Cali LLM-Lead)

Мета: ти знайомий з AWS, але «в минулому». Це не курс — це що казати на дзвінку, щоб звучати як людина, що це реально крутила, і не спалитись на глибині. Talking points — англійською (юзай як є), навколо — UA-навігація.


0. Стратегія розмови (найважливіше)

Твій реальний прод-стек — Hetzner + nginx + pm2 + systemd + git deploy. Реферал продає AWS. Не вдавай AWS-архітектора — будь інженером, що розуміє концепти й мапить їх на AWS. Це сильніша позиція за завчені терміни.

Готовий місток, кидай його сам на початку:

"My production infra day-to-day is self-hosted — nginx, pm2, systemd on VPS — so I think in terms of the primitives: load balancer, container runtime, managed DB, object store, queue. On AWS that maps to ALB, ECS/Fargate, RDS, S3, SQS. I've used those on the LLM projects; where I'm strongest is the architecture and the app/agent layer on top, and I ramp fast on the AWS-specific tooling."

Це чесно, показує глибину концептів, і знімає ризик «а покажи terraform state locking» — ти сам окреслив рівень.

Правило: якщо не знаєш деталь — "I'd reach for X, I'd confirm the exact flag in the docs", не вигадуй. Каліфорнійці цінують це більше за впевнене вранє.


1. Compute: EC2 vs ECS/Fargate

EC2 — віртуалка. Ти сам патчиш OS, ставиш рантайм. Твій Hetzner-досвід = прямий аналог.

"EC2 is basically a VPS — same mental model as my Hetzner boxes: I manage the OS, runtime, systemd units. Fine for stateful or long-lived services."

ECS + Fargate — це те, чим тебе продали. ECS = оркестратор контейнерів; Fargate = serverless-режим (не керуєш нодами, платиш за vCPU/RAM на таск). - Ключові терміни: task definition (образ + CPU/mem + env + IAM role), service (тримає N копій таска живими, робить rolling deploy), cluster, ALB попереду для роутингу. - Talking point:

"For the chatbot services we ran them as Fargate tasks — each service a task definition, the ECS service kept the desired count and did rolling deploys, ALB in front. Fargate meant no node management, which suited a small team." - Likely Q: "Fargate vs EC2 launch type?" → "Fargate = no server management, pay per task, great for bursty/async workloads and small teams; EC2 launch type when you need control over the instance, GPUs, or cheaper steady-state at scale." - Likely Q: "How do you scale?" → "Service auto-scaling on CPU/mem or an SQS queue-depth target; ALB health checks recycle bad tasks."


2. RDS (managed Postgres)

Твій козир — ти справжній Postgres-senior. RDS = той самий Postgres, тільки AWS керує бекапами/патчами/failover.

"RDS is just managed Postgres — I keep my SQL/schema/query-tuning skills, AWS takes the ops: automated backups, point-in-time recovery, Multi-AZ failover." - Терміни: Multi-AZ (синхронна репліка в іншій зоні для HA), read replicas (масштабування читання), parameter groups (конфіг движка), automated snapshots, PITR. - Likely Q: "Multi-AZ vs read replica?" → "Multi-AZ = HA/failover, replica is not readable. Read replicas = scale reads / offload analytics. Different jobs." - Bridge на глибину: тут веди на свою реальну силу — індекси, EXPLAIN ANALYZE, connection pooling (PgBouncer / RDS Proxy), N+1, партиціювання. Це де ти реально сильніший за середнього кандидата.


3. S3 (object storage)

Просте, знай терміни.

"S3 for artifacts, document batches, model outputs, static assets." - Терміни: bucket, key/prefix, storage classes (Standard / IA / Glacier), lifecycle policies (авто-архів/видалення), presigned URLs (тимчасовий доступ без публічності), versioning, SSE (server-side encryption). - Твій зв'язок: у тебе mandrock-files CDN — це рівно S3-паттерн (upload/list/delete + URL). Кажи це: "I built my own file-hosting service with upload/list/delete and short URLs — same access patterns as S3 with presigned URLs; on the legal-firm project S3 held the incoming document batches." - Likely Q: "Private file, temporary access?"presigned URL з TTL.


4. Queues / async workers (SQS)

Реферал згадує «черги/workers для асинхронної обробки» — будь готовий.

"For the document-ingestion and chatbot pipelines the heavy work went async: producer drops a job on a queue, a pool of workers pulls and processes, so the API stays responsive under load." - AWS: SQS (standard = at-least-once, FIFO = ordered/exactly-once), visibility timeout, dead-letter queue (DLQ) для отруйних меседжів, воркери на Fargate/Lambda. - Твій зв'язок: у Laravel ти це робив через queue/jobs (Redis/database driver) — концепт ідентичний, скажи це: "Same pattern I use with Laravel queues — jobs, workers, retries, failed-job table. SQS is the managed version: visibility timeout instead of a lock, DLQ instead of the failed_jobs table." - Likely Q: "Message fails repeatedly?" → visibility timeout + max receives → DLQ, alert on DLQ depth.


5. CI/CD (GitHub Actions → AWS)

Реферал: «CI/CD через GitHub Actions». Ти це реально робиш (pm2/Hetzner deploy) — переклади на AWS.

"GitHub Actions on push: build the Docker image, push to ECR, update the ECS task definition, ECS does a rolling deploy. Secrets via GitHub OIDC into an AWS role — no long-lived keys." - Терміни: ECR (реєстр образів), OIDC (GitHub автентиться в AWS без збережених ключів — сучасний best practice, згадай його, це плюс), rolling / blue-green deploy. - Likely Q: "How do you handle secrets in CI?" → "OIDC federation, short-lived role creds; app secrets in SSM Parameter Store / Secrets Manager, injected into the task, never in the image."


6. IaC: Terraform / Pulumi

Реферал: «Terraform/Pulumi — наша стандартна практика». Знай різницю + базові концепти. - Terraform = HCL (декларативна DSL). Pulumi = справжня мова (TS/Python) — тобі це ближче.

"Pulumi lets me define infra in TypeScript — same language as the app, real loops and abstractions. Terraform is HCL, more mature ecosystem. Both declarative with a state file as source of truth." - Мінімум термінів, щоб не поплисти: state (файл, що мапить код на реальні ресурси; тримається remote — S3+DynamoDB lock або TF Cloud), plan/apply, modules (перевикористовувані блоки), providers, drift. - Likely Q: "Two engineers apply at once?"remote state + locking (S3 backend + DynamoDB lock table). Знай цю відповідь — часто питають. - Якщо копнуть глибше, ніж ти пам'ятаєш: "I'd check the exact resource schema in the provider docs — I know the model, I look up the fields."


7. Networking / security (базовий рівень, не глибокий)

Не поглиблюйся сам, але не завмирай, якщо спитають: - VPC = приватна мережа; subnets (public/private); security group = firewall на рівні ресурсу (у тебе аналог — iptables/nginx allow); ALB у public subnet, ECS/RDS у private. - IAM = ролі й політики; принцип — least privilege, ролі замість ключів.

"Standard layout: ALB public, app tasks and RDS in private subnets, security groups scoped tight, IAM roles per service, least privilege. I keep it minimal and lock down egress." - Якщо про VPC peering / NAT gateway / route tables пішло глибоко — чесно: "That's where I'd lean on infra-as-code and docs rather than claim deep networking; my depth is app + data layer."


8. Observability

"CloudWatch for logs and metrics, alarms on error rate / queue depth / RDS connections. On my own stack it's pm2 logs + systemd journald — same discipline, different tool."


9. Що НЕ заявляти (щоб не згоріти)


10. Пере-мости на свою силу (роби це активно)

Коли AWS-глибина закінчується — сам веди на те, де ти топ: MCP-сервери з нуля · multi-agent orchestration · RAG (embeddings, vector store, LangChain) · LLM-as-gatekeeper пайплайни · Postgres-tuning · швидкий requirements→architecture. Це те, за що платять $10k+, не за те, чи пам'ятаєш ти синтаксис security group.

"Where I add the most value isn't raw AWS ops — it's designing the agent/RAG system and owning it end-to-end, with the AWS layer as the delivery vehicle."


60-секундний self-pitch (відрепетируй вголос, EN)

"Nine years backend, PHP/Laravel/Postgres core, last two years leading LLM/agent work — RAG platforms, custom MCP servers, multi-agent orchestration, shipped for a Norwegian EdTech and an Israeli legal firm as team lead. I run production infra myself, so I think in primitives and map cleanly onto the AWS stack — ECS/Fargate, RDS, S3, SQS, GitHub Actions, IaC. I ramp fast on tooling; my edge is architecture and the agent layer on top."