Amazon SDE I · AUTA APJ · Job 10454435 · Round 4 only

Prev: 6. Coding · Next: 8. Keep straight

7. GenAI fluency and later-slot CS

This is rehearsal for Adarsh Vishwakarma. R1 was 13 Aug 2026. R2 was 18 Aug 2026. R3 is done. This folder is leftover Round 4 only. OA is not a round. Live Code is Java. Job 10454435 still has no public write-up that names a live-round question. Other candidates’ leftover hours show what a Fluency label or a last-live CS dump can look like. They are not a list for this Job ID. Unnamed stays unnamed. Verify, do not worship.

Title ≠ algorithm — Fluency can be DSA

Start from the pasted prompt, not from the calendar title. If it is a tree, write the tree. Recruiter “LP-only” can still open an editor. UTA Rank A two-tech loops generally did not name a GenAI-primary question. CS fundamentals in a last/fourth live showed up on older F2F dumps and one L4 card list — not as a UTA two-DSA default.

What they might ask

IE-asked cluster below. Other loops, not a forecast for Job 10454435.

What you say

I start from the pasted prompt. If it is a tree, I write the tree. If it is “where should we not use this,” I name walls, then wait.

They might ask next

Labeled nameActually DSA?Named workMapped leftover
LC 7623949 Gen AI FluencyY — Distance K, no parent mapno GenAI prompt namedthird; BR fourth LP
LC 7584467 GenAI Essential + CodingY Dist-K family“just another DSA round” + how you use GenAIlater
LC 7850431 GenAI+techmixeduse / should-not; dynamic k-ththird; R4 behavioural
LC 7724048 HM Gen-AImixedbest use; verify; Next Greaterthird; BR fourth
LC 8014509 HM Gen-AImixedverify GenAI code; LCA; process schedulerthird; BR fourth
LC 8029194 HM / Fluency headingmixedYouTube 1-hour prod + AI; similar Median-of-twothird; BR fourth
Aditya C. GenAI FluencymixedAI awareness UNNAMED; DP + min-max heaps UNNAMEDthird; BR fourth LP names
Vaishali GenAI FluencyN DSA namedvalidate AI-generated code (paraphrase)OA-as-R1 later Fluency
Deepak R3N live codingprompt engineering; token limits; KFC-orders DSthird; no fourth named
Reddit 1ueybmg HM/Gen-AImixed2–3 AI Qs UNNAMED + Hard SW UNNAMEDthird; BR fourth LP
LC 7643209 intern FluencyY min-heap UNNAMEDnot Distance KINTERN first live

Keep straight

Tighten

If they labeled Fluency and pasted a tree, the tree is the round until they ask something else. Code first. GenAI sentence later.

Fluency pastes a tree: Distance K, O(n), no parent map

Recruiter labeled Gen AI Fluency. Candidate wording: similar to nodes at distance K, O(n), no parent mapping. Essentially a DSA round. No GenAI prompt named on that hour. Java lives here so you can type without leaving a Fluency-labeled page. Full follow-ups also sit in chapter 6.

What they might ask

IE-asked LC 7623949. BR after ~22 min LP-only (Why Amazon; Deep Dive; Learn & Be Curious; Earn Trust). Other loop, not a forecast for Job 10454435.

What you say

Brute, and why it fails. Parent map forbidden; BFS from every node is O(n²).

Optimal idea. If target is distance L down one child, this node is L+1; collect the other child at k−L−2. This is a tree walk, not RAG.

public List<Integer> distanceK(TreeNode root, TreeNode target, int k) {
  List<Integer> ans = new ArrayList<>();
  find(root, target, k, ans);
  return ans;
}
private int find(TreeNode node, TreeNode target, int k, List<Integer> ans) {
  if (node == null) return -1;
  if (node == target) { collectDown(node, k, ans); return 0; }
  int L = find(node.left, target, k, ans);
  if (L >= 0) {
    if (L + 1 == k) ans.add(node.val);
    collectDown(node.right, k - L - 2, ans);
    return L + 1;
  }
  int R = find(node.right, target, k, ans);
  if (R >= 0) {
    if (R + 1 == k) ans.add(node.val);
    collectDown(node.left, k - R - 2, ans);
    return R + 1;
  }
  return -1;
}
private void collectDown(TreeNode node, int dist, List<Integer> ans) {
  if (node == null || dist < 0) return;
  if (dist == 0) { ans.add(node.val); return; }
  collectDown(node.left, dist - 1, ans);
  collectDown(node.right, dist - 1, ans);
}

TC / SC. O(n) / O(n) worst.

They might ask next

If they askYou answer
k=0; target as value vs nodek=0 → [target]. Ask unique values. Draw their tree first.
Fluency after JavaOne sentence: I would not put an LLM on this walk. Then the walls on this page if they keep going.

Keep straight

Tighten

Write the tree first. Compile the walk in your head. GenAI sentence later, only if they still ask.

Where you use GenAI — verify, not worship

The model is an interface. Retrieval, SQL, evals, and isolation are the product. Use it where a human still checks a citation or a SQL shape. Same hours still pasted DSA — code first if the editor is open.

What they might ask

IE-asked LC 7850431, LC 7724048. Resume-derived walls. Other loop, not a forecast for Job 10454435.

What you say

I use a model where the engine of truth is already in place. At IQVIA, Deep Research plans, fans out tools, ranks, and synthesizes only cited spans or abstains — research ranked across 200+ websites. Hybrid RAG synthesizes from Azure AI Search Hybrid + Semantic plus GraphDB hops on 200+ page BRDs, with LangSmith. At Ylogx, LangChain SQL RAG may propose constrained NL → SQL only; Postgres executes as the caller role and RLS still filters. GiftedBooks answers from that student’s PDF. StratifyLabs may explain a scene; the scene graph is not the model. GraphDB stores requirement dependencies. LangGraph is IQVIA workflow state. Sharing the word “graph” is how this answer dies.

They might ask next

If they askYou answer
IQVIA Deep ResearchPlan, fan-out tools, rank by quality / recency / agreement, cite or abstain. Empty scrape is not a fact. 200+ websites. No IQVIA %.
IQVIA Hybrid RAGAzure spans + bounded hops + LangSmith. 200+ page BRDs. Cite-or-abstain.
Ylogx SQL RAGConstrained NL → SQL. Postgres as caller role. RLS still on. +65% is this path. LangChain, not LangGraph.
GiftedBooksGrounded Q&A from that PDF. sub-300 ms is that API, not Ylogx sub-210 ms.
Token limits (Deepak)Retrieve a small set. Do not stuff 200-page BRDs into a prompt.
Personal vs internKeep IQVIA / Ylogx as intern lanes. No invented side-project metric.

Keep straight

Tighten

One intern path per answer. If the editor is open, this card waits. Production intern language (not Live Code):

# Python FastAPI / LangGraph — intern, not Amazon Live Code
# planner writes into typed state; reducers APPEND surviving docs
state["docs"].extend(bing_hits)   # reducer append, not overwrite

What GenAI must not do

Authorization, occupancy, PPE alerts without a gate, and schema-destroying SQL stay off the model. Fluent English is not a permission slip.

What they might ask

IE-asked 7850431 “where not / why.” Resume-derived walls. Other loop, not a forecast for Job 10454435.

What you say

Use the model where a human still checks a citation or a SQL shape. Do not use it where a wrong output is a tenant leak, a missed helmet, a stale costmap, or a made-up total.

  1. Authorization (Ylogx RLS / roles / cache identity). The model does not author row policy, assign the three organizational tiers, approve JOINs, own DB credentials, run as table owner, execute writes from NL, decide whether a Redis entry is authorized, or build the isolation key. Cached “top SKU” without tier in the key is a leak, not a −35% win. −35% is bot DB latency. sub-210 ms dashboards have no LLM.
  2. DROP tables and other writes. SQL RAG returns inspectable SQL executed as the caller’s non-owner role. Catalog and writes are rejected. NL that would DROP, DELETE, or GRANT does not run. Invented unpaid totals from dumping 90 days of warehouse rows into the model are the failure mode the intern BI system exists to prevent. Postgres is the calculation engine.
  3. Horizon costmap / actuation / packets. No LLM on occupancy, motor commands, fusion, time sync, or packet recovery. 60 FPS is GStreamer camera infrastructure. Stale video is not current occupancy. 17th / 80+ is a team ERC result.
  4. Argus PPE alerts without a gate. The model does not generate PPE boxes, replace YOLOv9, relabel 73% mAP as acceptable because a caption looks compliant, be the official event record, or authorize alerts. 73% is a fail for alerting (misses + junk boxes). Ship bar is 89% mAP + 24 FPS, then 20+ cameras. Postgres stores events, not JPEG blobs. −50% / 2× are ops after alerts, not mAP.

They might ask next

If they askYou answer
Couldn’t the model write the RLS predicate?HTTP 200 with a legal JOIN is still a leak. The engine is Postgres RLS as the caller’s non-owner role.
IQVIA Deep Research must-notInvent page contents; unbounded loops; treat mirrors as extra votes.
IQVIA Hybrid RAG must-notInvent GraphDB edges; skip cite-or-abstain / LangSmith span gate.
GiftedBooks must-notPYQ guessing; cross-user retrieve. README currently describes AegisAI — resume wins.

Keep straight

Tighten

Four walls: RLS, DROP/writes, costmap, PPE gate. Then stop. One project if they pick a wall.

How you verify — LangSmith, SQL under RLS, boxes not vibes

Fluent English is not a gate. You verify against a span, a SQL result under the caller role, or a detector metric. You do not grade the model with another ungrounded model as the official record.

What they might ask

IE-asked LC 7724048; LC 7850431; Deepak token limits (Gurgaon; not named UTA). Resume-derived three lanes. Other loop, not a forecast for Job 10454435.

What you say

At IQVIA I check expected citation IDs / overlapping span in retained chunks, and LangSmith traces node order. An empty scrape must not reach the writer as fact. At Ylogx I parse and reject catalog and writes, allow-list tables, execute as the caller role with RLS still on, and inspect SQL plus rows. Redis key has tier. Argus boxes are held-out mAP, not a caption that “looks compliant.” GiftedBooks answers stay grounded in that file.

They might ask next

LaneWhat you checkWhat is not on the resume
IQVIA textCitation ids / span overlap; LangSmith node order; empty scrape is not factnDCG, gold-set size, IQVIA latency %
Ylogx SQLParse/reject writes; allow-listed tables; caller role; RLS on; inspectable SQL + rows; Redis key has tierModel “accuracy”; dashboard sub-210 ms as a chatbot number
Argus boxes73% mAP is a fail for alerts; 89% mAP + 24 FPS is the gate; then 20+ camerasHaar as a confirmed first attempt; caption-as-label
GiftedBooks PDFAnswer grounded in that file; sub-300 ms is the APIAegisAI README features; student headcount

Keep straight

Tighten

Efficiency tips (7724048): retrieve small, cap iterations, cache completed scrapes, keep LLMs off the 30 KPI tiles. Tips are walls, not prompt-poetry. Intern Python shape (not Live Code):

# not Live Code — intern FastAPI / LangGraph
# cite-or-abstain: no supporting span in retained chunks → no sentence
if not span_overlaps(claim, retained_chunks):
    return abstain("missing span")

How you verify code generated by GenAI

Treat generated code as untrusted. Compilation, their example, complexity, and forbidden data structures. Live Code is Java. Intern Python does not go in the editor.

What they might ask

IE-asked LC 8014509 HM Gen-AI Focus — usage; experience; verify GenAI code; then LCA (slug linked) and process scheduler. Vaishali LinkedIn: their Round 4 labeled GenAI Fluency (OA-as-R1 on that loop). Other loop, not a forecast for Job 10454435.

What you say

I treat generated code as untrusted. I check compilation, a dry run on their example, complexity, and whether it smuggles a parent map or an extra array they forbade. If they pasted DSA, the verification is the Java I write this hour. A model that emits a monotonic stack still needs IO restated, O(n²) brute named, invariant typed, dry-run [2,1,2,4,3], and O(n) spoken. The model is a draft, not the interview.

They might ask next

If they askYou answer
They pasted Distance K / LCA / Next Greater / Chef k-thWrite that Java. Chapter 6 families. Restate edges the model skips: k=0, empty, overflow long.
Same hour as scheduler LLDAsk which they want on the screen. Tree first if a tree is pasted.
Draft is nested loopsSay so and replace it. State TC/SC out loud.

Keep straight

Tighten

// Live Code checklist, not a library
// 1. compile  2. their example  3. empty / k=0 / overflow
// 4. forbidden DS (parent map, convert-to-array)
// 5. TC/SC out loud

Do not lecture RAG over an empty editor.

Critical production issue, one hour, option to use AI

Other loop: YouTube outage framing with permission to use AI tools. Exact YouTube internals are not on this resume. Speak sequenced risk from systems you shipped, not a fake postmortem.

What they might ask

IE-asked LC 8029194 — timeline bullet said GenAI Fluency; body heading was Hiring Manager Round. Other loop, not a forecast for Job 10454435.

What you say

I would use a model to search logs and draft a hypothesis. I would not let it restart ECS, approve a JOIN, DROP a table, or declare the costmap current. One hour means sequenced risk, not a generated runbook I have not read. Dashboard 5xx vs chatbot “thinking” vs RLS 403 vs CloudFront 403 are different classes. Resume 99.9% uptime held. Failure story on this resume is Argus 73% mAP, not a missed SLA.

They might ask next

If they askYou answer
Order you would takeStop blast radius: health check, rollback image tag, fail closed on isolation — not fail open RLS. Logs over fluent guesses. If SQL RAG looks guilty: inspect SQL and the role; the model does not rewrite RLS.
They still want DSASimilar-to Median is UNNAMED exact id. Write Java. Chapter 6 index-only row.

Keep straight

Tighten

Logs, blast radius, fail closed. Model summarizes; it does not own DNS, secrets, RLS, or DROP. Stop.

Unnamed GenAI prompts

Several write-ups listed “AI questions” without stems. Do not reconstruct a fake RAG essay as “the” question. Three blocks, then ask which slice they want.

What they might ask

IE-asked headings without transcripts. Other loops, not a forecast for Job 10454435. Unnamed stays unnamed.

What you say

I do not have the exact wording from those write-ups. Would you like architecture, evaluation, a where-not example, or the coding problem on the screen?

They might ask next

If they pickYou answer
ArchitectureIQVIA 60s: LangGraph state + parallel tools; Azure Hybrid + Semantic + GraphDB; LangSmith cite-or-abstain. Two “200+” families stay separate (websites vs page BRDs).
Where-notNo model-owned RLS, DROP/writes, PPE boxes without 89%/24 FPS, costmap, unpaid totals.
VerificationSpan / SQL-under-role / Java compile+dry-run.
Editor still openThese blocks stay unused. Write the Java.

Keep straight

Tighten

Ask which slice. One block. Stop.

Threads vs processes

Standard CS. Tie to resume only where it is honest: isolation you shipped is process/container/node, not a JVM internship. Horizon is not an OS lecture. Live Code may still use Java Thread / pool as illustration.

What they might ask

IE-asked GFG sde-1-17, GFG sde-1-14. Standard CS. Resume-derived hooks only where honest. IE.in 2025-grad OS processes vs threads was R1, not later — same loop as Rate Limiter (count=1, OA+3, not UTA). Other loop, not a forecast for Job 10454435.

What you say

A process is the isolation boundary I actually shipped: ECS/Docker tasks at Ylogx, containerized Argus workers, Horizon ROS2 nodes talking over DDS. A thread is cheaper context switch and a shared heap — own stack, registers, PC. A native crash inside one shared process kills the siblings. Argus: 20+ containerized camera workers at 24 FPS after the 89% mAP gate. Horizon camera pipeline is a separate node from the costmap node. Ylogx 99.9% is process/container uptime on ECS tasks, not “I tuned JVM threads.” I do not invent a Java Thread per camera in production. Internships did not run on the JVM.

They might ask next

ProcessThread
Address spaceOwn PID, page tables, heap, FDsShared heap; own stack, registers, PC
CrashIsolated (container / ROS2 node)Can take down the JVM / worker set
IPCPipes, sockets, DDSShared memory + locks
Java Live CodeOne JVM processnew Thread / pool share the heap → synchronized

Keep straight

Tighten

// Standard CS Java — Live Code illustration, not Argus production
ExecutorService pool = Executors.newFixedThreadPool(n);
// shared heap: all tasks see the same objects → need locks or confinement
// process boundary: a second JVM / container dying does not kill Postgres logging

Isolation sentence, table if they push, stop. Do not turn Horizon into an OS exam.

Transactions and deadlocks — Ylogx Postgres

Standard CS, tied to resume where honest: Ylogx Postgres ACID. RLS is which org’s rows you may see — not the same word as isolation level. Horizon is not this card.

What they might ask

IE-asked GFG sde-1-17. Standard CS. Resume-derived Ylogx shape, not a named incident. 2022 FTE HM deadlocks and 2019 campus ACID are year-out — shape only. Other loop, not a forecast for Job 10454435.

What you say

A transaction is a bundle that must look atomic. ACID: Atomic (all or none). Consistent (FK / CHECK / RLS still hold). Isolated (two builders do not each think they won dashboard.spec). Durable (WAL). A database deadlock is a cycle on row locks; Postgres detects a wait-for cycle, aborts one (40P01), the app retries with ids sorted. SQL RAG and the report builder share the warehouse; the bot does not use a table-owner DSN. I did not ship a custom detector and I did not run Bankers on the BI warehouse. 99.9% uptime is serving/deploy, not WAL fsync as a second SLA. Do not hold a row lock while the bot calls an LLM.

They might ask next

If they askYou answer
Two sessions update dashboard 1 then 2 versus 2 then 1Wait-for cycle. Engine aborts one. Retry with ids sorted.
Lost updateVersion column. SELECT FOR UPDATE serializes alert ack on Argus events (events, not JPEG blobs). Short transactions.
OS deadlock vs DB deadlockOS: Coffman’s four on mutexes. DB: lock cycle, abort + retry. Different mechanisms.

Keep straight

Tighten

-- Postgres illustration — intern warehouse, not Live Code Java
-- session 1: UPDATE dashboard SET spec='a' WHERE id=1;  then id=2
-- session 2: UPDATE dashboard SET spec='b' WHERE id=2;  then id=1
-- PG: ERROR deadlock detected; retry with ids sorted
// Java Standard CS cousin — lock order, not a Ylogx JVM service
synchronized (lockA) {
  synchronized (lockB) { /* work */ }
}
// thread 2 must not take B then A

ACID in one pass, deadlock abort+retry, stop.

HTTP vs TCP

Standard CS. TCP is transport. HTTP is the application protocol that usually rides TCP (HTTP/1.1, HTTP/2). Tie to resume only where honest: Ylogx REST/TLS wants a complete report row. Horizon is not an HTTP lecture and not an OS lecture.

What they might ask

Standard CS. IE-asked CN family on sde-1-17; REST on IE.in L4 cards. Resume-derived Ylogx HTTPS. Other loop, not a forecast for Job 10454435.

What you say

TCP is a reliable, ordered byte stream with a handshake, ports, ACK and retransmission. HTTP is request/response on top: methods, paths, headers, JSON bodies for Ylogx reports and dashboards. Ylogx REST is HTTP over TLS over TCP so a report row is not dropped mid-transfer. Dashboard GET has no LLM; sub-210 ms is that path. SQL RAG control plane is the same stack with a different verb. Horizon’s operator camera is 60 FPS GStreamer — if they ask that path, it is live video, not REST. Costmap occupancy is a ROS2 path, not an HTTP resource.

They might ask next

If they askYou answer
Browser load of a URLDNS, then TCP handshake, TLS, HTTP GET. amazon.com-in-the-background on sde-1-17 is this family unless they pivot to media.
HTTP/3 / QUICStandard CS: HTTP/3 uses QUIC over UDP. Not a Horizon claim. Not a Ylogx shipped protocol on the resume.
REST vs DockerREST is the HTTP API shape. Docker is how the process is packaged. A container that fails health checks is ALB/ECS, not a verb story.

Keep straight

Tighten

TCP = transport. HTTP = application. One Ylogx sentence. If they want live video, next card. Stop.

TCP vs UDP — if they ask transport

GFG sde-1-14 their R4 asked TCP vs UDP with child process vs thread. Horizon GStreamer 60 FPS is the honest resume hook for drop-over-stall. It is still not an OS lecture.

What they might ask

IE-asked GFG sde-1-14 their R4. Standard CS. Resume-derived Horizon 60 FPS. DNS/MAC/thrashing on GFG 6-months Dec 2020 was their R2, year-out — not last. Other loop, not a forecast for Job 10454435.

What you say

Live video treats a late frame as the wrong frame. I would rather drop a datagram than block the 60 FPS path on retransmission. UDP has no handshake and no delivery/order guarantee. TCP’s failure mode is head-of-line stall. Ylogx REST/TLS wants TCP so a report row is not dropped. I will not claim 120 FPS, WebRTC, or a radio BER. Costmap occupancy is a separate ROS2 path — no LLM on it, no YOLO-on-rover resume claim. Public Gstreamer-UDP is a supporting analogue, not a second project.

They might ask next

TCPUDP
HandshakeThree-way; connectionNone; datagrams
DeliveryOrdered byte stream, ACK/retransmitNo delivery/order guarantee
Failure modeLoss stalls later bytes (HOL)Drop; glitch, not freeze, if the pipeline expects it
This resumeYlogx HTTPS dashboard / SQL RAG control planeHorizon operator camera 60 FPS

Keep straight

Tighten

// Standard CS Java analogue — Horizon code was ROS2 / Python / C++, not this
DatagramSocket udp = new DatagramSocket();
DatagramPacket pkt = new DatagramPacket(buf, buf.length);
// no accept(), no connection; loss is possible
// Ylogx REST would be Socket / HTTPS instead

Drop vs stall. One Horizon sentence. Stop.

Bankers algorithm — Standard CS from one later F2F

GFG sde-1-17 last live listed “Bankers Algo?” with threads vs processes. Miner search this fleet: only that IE as an interview prompt. Strength: Single. Textbook SERP is not a second ask. Not a Ylogx story.

What they might ask

IE-asked GFG sde-1-17 last. Standard CS. Other loop, not a forecast for Job 10454435.

What you say

Bankers is deadlock avoidance: allocate only if the resulting state is safe (exists a finish sequence). Unsafe is not deadlock yet. Tables: Max, Allocation, Need = Max−Allocation, Available. Find a process with Need ≤ Available, pretend it finishes, add its Allocation back, repeat. If you get through all, the state is safe. I did not implement it at Ylogx, IQVIA, or Horizon. Bounded pools (connections, worker count) are how those systems cap resources. Ylogx isolation is Postgres RLS plus RBAC for three tiers, not a bankers matrix on SKUs.

They might ask next

If they askYou answer
Java illustrationNested locks in one global order, not Need[][] arrays you did not ship.
DB deadlock vs BankersPostgres abort + retry is detection. Bankers is avoidance. Different cards.

Keep straight

Tighten

Safe sequence in two sentences. “I did not ship this.” Stop.

Kafka / B+ from igreaper — OA-as-R1 remap

OA numbered Round 1. Their “Round 3” after Rotten Oranges + Maximal Rectangle asked Kafka ordering/partitioning and B tree vs B+ tree. That heading is our R2 analogue. Their R4 BR was LP + project grill; Kafka/B+ were not restated as BR questions. Not leftover Round 4 warmup.

What they might ask

IE-asked igreaper. FLAG OA-as-R1. HashMap internals (LC 6570344, LC 6653463) are R1 follow-ups — not later. Other loop, not a forecast for Job 10454435.

What you say

If they still ask: order in Kafka is per partition, not global. B+ range scan is why time-ordered tenant logs want a tree index, not a hash. Then stop. I did not implement a B+. Ylogx is one Postgres. I did not shard. I did not operate Kafka. Kubernetes is skills-listed; Ylogx prod is ECS + Docker.

They might ask next

If they askYou answer
B+ as Standard CSLeaves are linked for range scans. One sentence, then stop.

Keep straight

Tighten

One Standard CS sentence, then stop. No intern Kafka ops story.

Docker, REST, S3 / NoSQL — listed after BR, slot not split

IE.in L4 2025 fresher Hyd offer. OA-as-R1 Y. Not UTA two-DSA. Question cards 13–20 sit after BR LP cards 9–12. The page does not split whether CS was BR project-grill versus a fifth live; the write-up does not name a fifth live. ECS is not named on that card list. Ylogx resume does name ECS + Docker + ALB + CloudFront + Route 53.

What they might ask

IE-asked IE.in L4 2025 fresher card list, not a transcript. Resume-derived Ylogx mapping. Other loop, not a forecast for Job 10454435.

What you say

I can defend Docker images, ECS desired count, ALB health, and REST JSON for reports and dashboards. Docker images on ECS tasks, not Compose-as-prod, not EKS-as-shipped. REST: NestJS report/dashboard JSON; FastAPI SQL RAG. Private tenant JSON is not a CloudFront object. S3 is objects (if they ask) — not RLS rows. NoSQL on this resume is Redis cache-aside on the bot path (−35% bot DB), not a Mongo warehouse. I did not shard. I will not claim I operated the S3 copy API in production.

They might ask next

If they askYou answer
S3 vs NoSQLObjects vs indexed records. Argus events in Postgres; bulk video out of the table.
ShardingWould-do, not a claim. Ylogx is one Postgres.
REST vs Docker in one breathREST is HTTP API shape. Docker is packaging. Health-check failure is ALB/ECS.

Keep straight

Tighten

GET /dashboards/{id}/kpis   -> NestJS + Postgres RLS, no LLM, sub-210 ms family
POST /chat/sql              -> FastAPI SQL RAG, Redis key includes tier
// Docker image tag rolled via ECS; not SSH-patch a box
// S3 object copy / NoSQL sharding: Standard CS if they ask; not a shipped Ylogx shard

Docker + REST from the resume. S3 copy as Standard CS if they ask. Stop. This card list is not “you will get a fifth CS dump.”

Companion: 6. Coding if the editor is open. 8. Keep straight for GitHub mismatches. Older notebook: interview_notebook home · research bible · study book.