[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:ai-engineer\u002Frag-retrieval":4,"config":193},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":8,"topic_name":9,"spec_key":7,"spec_name":7,"locale":10,"cell_total":11,"field_total":12,"seniorities":13,"topics":17,"specs":97,"samples":108},"ai-engineer","AI Engineer","","rag-retrieval","Rag Retrieval","en",75,2025,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,91,94],{"key":19,"name":20,"count":11},"agents-tool-use","Agents Tool Use",{"key":22,"name":23,"count":11},"aimlops-deployment-strategies-ml","Aimlops Deployment Strategies Ml",{"key":25,"name":26,"count":11},"aimlops-experiment-tracking-reproducibility","Aimlops Experiment Tracking Reproducibility",{"key":28,"name":29,"count":11},"aimlops-feature-store-data-versioning","Aimlops Feature Store Data Versioning",{"key":31,"name":32,"count":11},"aimlops-ml-cicd-pipelines","Aimlops Ml Cicd Pipelines",{"key":34,"name":35,"count":11},"aimlops-model-monitoring-drift-detection","Aimlops Model Monitoring Drift Detection",{"key":37,"name":38,"count":11},"aimlops-model-versioning-registry","Aimlops Model Versioning Registry",{"key":40,"name":41,"count":11},"aipy-async-concurrency-ml-serving","Aipy Async Concurrency Ml Serving",{"key":43,"name":44,"count":11},"aipy-data-pipeline-dataloader","Aipy Data Pipeline Dataloader",{"key":46,"name":47,"count":11},"aipy-gpu-memory-management","Aipy Gpu Memory Management",{"key":49,"name":50,"count":11},"aipy-numpy-vectorization-broadcasting","Aipy Numpy Vectorization Broadcasting",{"key":52,"name":53,"count":11},"aipy-python-ml-packaging-environments","Aipy Python Ml Packaging Environments",{"key":55,"name":56,"count":11},"aipy-tensor-ops-autograd","Aipy Tensor Ops Autograd",{"key":58,"name":59,"count":11},"embeddings-vector-search","Embeddings Vector Search",{"key":61,"name":62,"count":11},"evaluation-testing","Evaluation Testing",{"key":64,"name":65,"count":11},"fine-tuning-adaptation","Fine Tuning Adaptation",{"key":67,"name":68,"count":11},"inference-serving","Inference Serving",{"key":70,"name":71,"count":11},"llm-fundamentals","Llm Fundamentals",{"key":73,"name":74,"count":11},"prompt-engineering","Prompt Engineering",{"key":76,"name":77,"count":11},"rag-chunking-indexing","Rag Chunking Indexing",{"key":79,"name":80,"count":11},"rag-embeddings-similarity","Rag Embeddings Similarity",{"key":82,"name":83,"count":11},"rag-evaluation","Rag Evaluation",{"key":85,"name":86,"count":11},"rag-generation-context","Rag Generation Context",{"key":88,"name":89,"count":11},"rag-reranking-fusion","Rag Reranking Fusion",{"key":8,"name":9,"count":11},{"key":92,"name":93,"count":11},"rag-retrieval-search","Rag Retrieval Search",{"key":95,"name":96,"count":11},"safety-guardrails","Safety Guardrails",[98,102,105],{"key":99,"name":100,"count":101},"llm-rag","LLM\u002FRAG",450,{"key":103,"name":104,"count":101},"mlops","MLOps",{"key":106,"name":107,"count":101},"python","Python",[109,127,140,153,167,180],{"id":110,"topic":9,"difficulty":111,"body":112,"options":113,"correct_key":115,"explanation":126},"019f5912-465d-7e9b-9ccc-b741f5db7c40",1,"In the context of LLM applications, what does RAG (Retrieval-Augmented Generation) fundamentally mean?",[114,117,120,123],{"key":115,"text":116},"a","The system retrieves relevant external content and inserts it into the prompt so the model can answer using it.",{"key":118,"text":119},"b","The model is retrained on new documents so the knowledge becomes permanently encoded in its weights.",{"key":121,"text":122},"c","The model generates several candidate answers using different sampling runs and averages them for a more stable response.",{"key":124,"text":125},"d","The system stores previous answers and replays a cached response whenever a similar question is asked.","RAG combines retrieval with generation: relevant documents are fetched and placed in context before the model answers. (b) describes fine-tuning, not RAG. (c) describes an ensembling\u002Fself-consistency technique, unrelated to retrieval. (d) describes response caching, which does not involve retrieving source content.",{"id":128,"topic":9,"difficulty":111,"body":129,"options":130,"correct_key":118,"explanation":139},"019f5912-465e-7709-b0a5-f61033585bb6","A team's internal documentation changes every week. Why might they prefer RAG over relying purely on the model's built-in knowledge?",[131,133,135,137],{"key":115,"text":132},"RAG makes each generation step run faster because retrieval requires less compute than decoding tokens.",{"key":118,"text":134},"RAG lets the system pull in current documentation at query time, so answers reflect recent changes without retraining.",{"key":121,"text":136},"RAG removes the need for the model to understand language at all, since it only repeats the retrieved passage verbatim.",{"key":124,"text":138},"RAG shortens the prompt because retrieved passages replace the need for a system instruction.","RAG's core value is freshness without retraining: swap the underlying documents and the next query reflects the update. (a) is false — retrieval adds a step, it doesn't replace decoding. (c) is false — the model still has to read and reason over the retrieved text. (d) confuses retrieved content with system instructions, which serve different purposes.",{"id":141,"topic":9,"difficulty":111,"body":142,"options":143,"correct_key":121,"explanation":152},"019f5912-465f-7045-ad29-68bdf3521f19","Which sequence correctly describes the typical stages of a RAG pipeline, in order?",[144,146,148,150],{"key":115,"text":145},"generate, retrieve, chunk, embed, index, augment, ingest",{"key":118,"text":147},"embed, ingest, augment, chunk, retrieve, index, generate",{"key":121,"text":149},"ingest, chunk, embed, index, retrieve, augment, generate",{"key":124,"text":151},"index, chunk, ingest, retrieve, embed, augment, generate","Documents are first ingested, split into chunks, turned into embeddings, and stored in an index; at query time the system retrieves relevant chunks, augments the prompt with them, and generates the answer. Reversing this order (as in the other options) breaks the dependency — you cannot embed before chunking, or retrieve before indexing.",{"id":154,"topic":9,"difficulty":155,"body":156,"options":157,"correct_key":118,"explanation":166},"019f5912-4660-7121-90c2-6d1cd7f663fa",2,"A junior engineer chunks documents into very large pieces (e.g. entire chapters) before embedding them. What problem is this most likely to cause during retrieval?",[158,160,162,164],{"key":115,"text":159},"The embedding step will fail outright and raise an error, since large text inputs cannot be embedded at all by the model.",{"key":118,"text":161},"Each chunk mixes many topics together, so a narrow query still pulls in a lot of irrelevant surrounding text.",{"key":121,"text":163},"The vector index will refuse to store chunks above a certain character count.",{"key":124,"text":165},"Retrieval will return chunks in a random order instead of ranking them by relevance.","Large chunks blend multiple topics into one embedding, diluting its focus, so a specific query matches the chunk overall but the answer is buried in mostly unrelated text — wasting context and hurting precision. (a) is false here: nothing errors out — retrieval succeeds, it is just imprecise. (Whether an over-limit input is rejected or truncated is an ingest-time, provider-specific concern, not the retrieval symptom described.) (c) and (d) describe failures that aren't inherent to chunk size.",{"id":168,"topic":9,"difficulty":155,"body":169,"options":170,"correct_key":124,"explanation":179},"019f5912-4660-7cb7-b3dd-3e2caddd06e4","A different team chunks documents into very small pieces, such as single sentences. What downside does this typically introduce?",[171,173,175,177],{"key":115,"text":172},"The embedding model will reject sentence-length inputs as too short to process.",{"key":118,"text":174},"Storage cost drops so much that the index becomes effectively free to maintain.",{"key":121,"text":176},"Retrieval will always return exactly one chunk, regardless of the configured top-k.",{"key":124,"text":178},"Individual chunks lose surrounding context, so a retrieved sentence can be ambiguous without the text around it.","Very small chunks often strip away the context a sentence depends on (what \"it\" or \"this value\" refers to, for example), so the model may misinterpret an isolated fragment even though it was technically the most similar text. (a) is false — short inputs embed fine. (b) overstates a real but secondary effect (more chunks does raise, not eliminate, storage\u002Findex cost). (c) is unrelated to chunk size.",{"id":181,"topic":9,"difficulty":155,"body":182,"options":183,"correct_key":115,"explanation":192},"019f5912-4662-72d4-8981-918d6ac6ffd0","```python\ndef chunk_text(text, size=500, overlap=100):\n    chunks = []\n    start = 0\n    while start \u003C len(text):\n        end = start + size\n        chunks.append(text[start:end])\n        start = end - overlap\n    return chunks\n```\nWhy does this chunking function include an `overlap` between consecutive chunks instead of cutting text at hard, non-overlapping boundaries?",[184,186,188,190],{"key":115,"text":185},"So text near a chunk boundary still appears whole in at least one chunk, instead of being split and lost from both.",{"key":118,"text":187},"So that the total number of chunks produced is always an exact multiple of the overlap value.",{"key":121,"text":189},"So that the embedding model can process each chunk twice, once for accuracy and once for speed.",{"key":124,"text":191},"So that duplicate chunks can be detected and automatically removed before indexing.","Overlap protects against a sentence or idea being cut exactly at a chunk boundary and thus appearing incomplete in both neighboring chunks; with overlap, the surrounding text still shows up whole in at least one chunk. (b) misdescribes what overlap controls — it doesn't produce a fixed count relationship. (c) and (d) are not what overlap is for; it isn't about double-processing or dedup.",{"fields":194,"seniorities":372,"interview_shapes":373,"locales":378,"oauth":380,"question_count":383,"coach_enabled":384,"jd_match_enabled":384},[195,218,238,255,279,286,305,324,346,353,359,366],{"key":196,"name_tr":197,"name_en":197,"sort":111,"specializations":198},"backend","Backend",[199,202,205,206,209,212,215],{"key":200,"name":201,"field":196},"general","Genel",{"key":203,"name":204,"field":196},"go","Go",{"key":106,"name":107,"field":196},{"key":207,"name":208,"field":196},"java","Java",{"key":210,"name":211,"field":196},"csharp","C#\u002F.NET",{"key":213,"name":214,"field":196},"nodejs","Node.js",{"key":216,"name":217,"field":196},"php","PHP",{"key":219,"name_tr":220,"name_en":220,"sort":155,"specializations":221},"frontend","Frontend",[222,223,226,229,232,235],{"key":200,"name":201,"field":219},{"key":224,"name":225,"field":219},"javascript","JavaScript",{"key":227,"name":228,"field":219},"typescript","TypeScript",{"key":230,"name":231,"field":219},"react","React",{"key":233,"name":234,"field":219},"vue","Vue",{"key":236,"name":237,"field":219},"angular","Angular",{"key":239,"name_tr":240,"name_en":240,"sort":241,"specializations":242},"fullstack","Fullstack",3,[243,244,245,246,247,248,249,250,251,252,253,254],{"key":200,"name":201,"field":239},{"key":203,"name":204,"field":196},{"key":106,"name":107,"field":196},{"key":207,"name":208,"field":196},{"key":210,"name":211,"field":196},{"key":213,"name":214,"field":196},{"key":216,"name":217,"field":196},{"key":224,"name":225,"field":219},{"key":227,"name":228,"field":219},{"key":230,"name":231,"field":219},{"key":233,"name":234,"field":219},{"key":236,"name":237,"field":219},{"key":256,"name_tr":257,"name_en":257,"sort":258,"specializations":259},"devops-cloud","DevOps \u002F Cloud",4,[260,261,264,267,270,273,276],{"key":200,"name":201,"field":256},{"key":262,"name":263,"field":256},"aws","AWS",{"key":265,"name":266,"field":256},"gcp","GCP",{"key":268,"name":269,"field":256},"azure","Azure",{"key":271,"name":272,"field":256},"kubernetes","Kubernetes",{"key":274,"name":275,"field":256},"terraform","Terraform",{"key":277,"name":278,"field":256},"linux","Linux",{"key":5,"name_tr":6,"name_en":6,"sort":280,"specializations":281},5,[282,283,284,285],{"key":200,"name":201,"field":5},{"key":106,"name":107,"field":5},{"key":99,"name":100,"field":5},{"key":103,"name":104,"field":5},{"key":287,"name_tr":288,"name_en":289,"sort":290,"specializations":291},"database","Veritabanı","Database",6,[292,293,296,299,302],{"key":200,"name":201,"field":287},{"key":294,"name":295,"field":287},"postgresql","PostgreSQL",{"key":297,"name":298,"field":287},"mysql","MySQL",{"key":300,"name":301,"field":287},"mongodb","MongoDB",{"key":303,"name":304,"field":287},"redis","Redis",{"key":306,"name_tr":307,"name_en":308,"sort":309,"specializations":310},"mobile","Mobil","Mobile",7,[311,312,315,318,321],{"key":200,"name":201,"field":306},{"key":313,"name":314,"field":306},"ios-swift","iOS (Swift)",{"key":316,"name":317,"field":306},"android-kotlin","Android (Kotlin)",{"key":319,"name":320,"field":306},"flutter","Flutter",{"key":322,"name":323,"field":306},"react-native","React Native",{"key":325,"name_tr":326,"name_en":327,"sort":328,"specializations":329},"security","Güvenlik","Security",8,[330,331,334,337,340,343],{"key":200,"name":201,"field":325},{"key":332,"name":333,"field":325},"appsec","AppSec",{"key":335,"name":336,"field":325},"offensive-pentest","Offensive \u002F Pentest",{"key":338,"name":339,"field":325},"cloud-security","Cloud Security",{"key":341,"name":342,"field":325},"devsecops","DevSecOps",{"key":344,"name":345,"field":325},"blue-team-incident","Blue Team \u002F Incident",{"key":347,"name_tr":348,"name_en":349,"sort":350,"specializations":351},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[352],{"key":200,"name":201,"field":347},{"key":354,"name_tr":355,"name_en":355,"sort":356,"specializations":357},"data-engineer","Data Engineer",10,[358],{"key":200,"name":201,"field":354},{"key":360,"name_tr":361,"name_en":362,"sort":363,"specializations":364},"game-dev","Oyun Geliştirme","Game Development",11,[365],{"key":200,"name":201,"field":360},{"key":367,"name_tr":368,"name_en":368,"sort":369,"specializations":370},"ml-engineer","ML Engineer",12,[371],{"key":200,"name":201,"field":367},[14,15,16],{"junior":374,"mid":376,"senior":377},{"questions":375,"median_sec":3},20,{"questions":375,"median_sec":3},{"questions":375,"median_sec":3},[379,10],"tr",[381,382],"google","github",21750,true]