[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:ai-engineer\u002Frag-evaluation":4,"config":189},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-evaluation","Rag Evaluation","tr",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,82,85,88,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":8,"name":9,"count":11},{"key":83,"name":84,"count":11},"rag-generation-context","Rag Generation Context",{"key":86,"name":87,"count":11},"rag-reranking-fusion","Rag Reranking Fusion",{"key":89,"name":90,"count":11},"rag-retrieval","Rag Retrieval",{"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,154,164,176],{"id":110,"topic":9,"difficulty":111,"body":112,"options":113,"correct_key":118,"explanation":126},"019f667f-d96c-72c7-8ecf-e4eaecb3e45f",1,"RAG retrieval değerlendirmesinde recall@k neyi ölçer?",[114,117,120,123],{"key":115,"text":116},"a","Getirilen top-k chunk'lardan alakalı olanların oranı",{"key":118,"text":119},"b","Top-k'da görünen alakalı chunk'ların oranı",{"key":121,"text":122},"c","Sadece en üst sıradaki tek chunk'ın alakalı olup olmadığı",{"key":124,"text":125},"d","İlk alakalı chunk'ın sıra pozisyonu","Recall@k = (top-k içinde bulunan alakalı chunk sayısı) \u002F (var olan toplam alakalı chunk sayısı); yani tüm alakalı kümenin ne kadarının yakalandığını ölçer (b). Top-k'nın kaçının alakalı olduğu oranı precision@k'dir, recall@k değil (a yanlış). Sadece top-1'e bakmak hit@1'i tanımlar, farklı bir metriktir (c yanlış). İlk alakalı chunk'ın sırası MRR'ın temelidir, recall@k'nin değil (d yanlış).",{"id":128,"topic":9,"difficulty":111,"body":129,"options":130,"correct_key":115,"explanation":139},"019f667f-d96d-76f7-ad47-c35c326dafed","RAG retrieval değerlendirmesinde precision@k neyi ölçer?",[131,133,135,137],{"key":115,"text":132},"Getirilen k chunk'tan alakalı olanların oranı",{"key":118,"text":134},"Tüm alakalı chunk'lardan top-k'da getirilenlerin oranı",{"key":121,"text":136},"İlk alakalı chunk'ın sırasının tersi (reciprocal)",{"key":124,"text":138},"Top-k'da herhangi bir alakalı chunk olup olmadığı","Precision@k = (getirilen k chunk içindeki alakalı sayı) \u002F k; yani getirilen kümenin ne kadar 'temiz' olduğunu ölçer (a). Tüm alakalı chunk'ların top-k içinde ne kadarının yakalandığı recall@k'yi tanımlar, precision@k'yi değil (b yanlış). İlk alakalı chunk'ın reciprocal rank'i MRR'ın yapı taşıdır (c yanlış). Top-k'da herhangi bir alakalı chunk olup olmadığına dair evet\u002Fhayır hit@k'yi tanımlar (d yanlış).",{"id":141,"topic":9,"difficulty":142,"body":143,"options":144,"correct_key":115,"explanation":153},"019f667f-d96e-7568-98e3-ae234db8c0b0",2,"Bir vector search, bir sorgu için şu sıralı chunk ID listesini döndürüyor:\n```python\nretrieved = [\"d3\", \"d1\", \"d7\", \"d2\", \"d9\"]\nrelevant = {\"d1\", \"d2\", \"d5\"}  # ground-truth alakalı küme, boyutu 3\n```\nSadece top 2 getirilen öğeyi kullanarak recall@2 kaçtır?",[145,147,149,151],{"key":115,"text":146},"0.33",{"key":118,"text":148},"0.67",{"key":121,"text":150},"0.50",{"key":124,"text":152},"1.00","Top-2 = [\"d3\",\"d1\"]. Sadece d1 alakalı kümede, yani hits = 1. recall@2 = hits \u002F |relevant| = 1\u002F3 ≈ 0.33 (a). d2 ancak 4. sırada göründüğü için top 2 dışında kalır, 2\u002F3 fazla saymaktır (b yanlış). 0.50, k'ya bölmektir (precision@k formülü), alakalı küme boyutuna değil (c yanlış). d5 getirilen listede hiç görünmüyor, dolayısıyla recall hiçbir zaman 1.00'a ulaşmaz (d yanlış).",{"id":155,"topic":9,"difficulty":142,"body":156,"options":157,"correct_key":118,"explanation":163},"019f667f-d96f-7c6c-a6a7-11fdeda9eca1","Aynı kurulumu kullanarak:\n```python\nretrieved = [\"d3\", \"d1\", \"d7\", \"d2\", \"d9\"]\nrelevant = {\"d1\", \"d2\", \"d5\"}\n```\nprecision@2 kaçtır?",[158,159,160,161],{"key":115,"text":146},{"key":118,"text":150},{"key":121,"text":152},{"key":124,"text":162},"0.20","Top-2 = [\"d3\",\"d1\"]; bu 2 öğeden 1 tanesi alakalı, yani precision@2 = 1\u002F2 = 0.50 (b). k=2 yerine 3'e (alakalı küme boyutu) bölmek recall@2 verir, precision değil (a yanlış). Şimdiye kadar bulunan doğruysa precision otomatik 1.00 olmaz — hâlâ getirilen 2'den 1 alakalı (c yanlış). 5'e bölmek, değerlendirilen k=2 penceresi dışındaki öğeleri de karıştırır (d yanlış).",{"id":165,"topic":9,"difficulty":142,"body":166,"options":167,"correct_key":124,"explanation":175},"019f667f-d970-7a10-a131-5ad2c794f956","Aynı getirilen liste ve alakalı küme:\n```python\nretrieved = [\"d3\", \"d1\", \"d7\", \"d2\", \"d9\"]\nrelevant = {\"d1\", \"d2\", \"d5\"}\n```\nhit@1 kaçtır (top 1 içinde en az bir alakalı chunk varsa 1, yoksa 0)?",[168,170,171,173],{"key":115,"text":169},"1",{"key":118,"text":146},{"key":121,"text":172},"0.2",{"key":124,"text":174},"0","Top-1 = [\"d3\"]. d3, {\"d1\",\"d2\",\"d5\"} kümesinde değil, yani hit@1 = 0 (d). hit@k sorgu başına ikili (binary) bir göstergedir, oran değildir, dolayısıyla 0.33 olamaz (b yanlış). hit@1 sadece top-1 öğeye bakar, tüm sıralamaya değil, bu yüzden sonradan görünmek sayılmaz (c yanlış) ve bu metrikte 'doküman ailesi' bonusu diye bir kavram yoktur (a yanlış).",{"id":177,"topic":9,"difficulty":111,"body":178,"options":179,"correct_key":121,"explanation":188},"019f667f-d972-7065-86ef-642418565c10","hit@k, recall@k'den temelde nasıl farklıdır?",[180,182,184,186],{"key":115,"text":181},"hit@k, aynı sorgu için her zaman recall@k'den sayısal olarak büyüktür",{"key":118,"text":183},"hit@k etiketli alakalı küme gerektirir, recall@k gerektirmez",{"key":121,"text":185},"hit@k sorgu başına ikilidir; recall@k bir kapsama oranıdır",{"key":124,"text":187},"hit@k generation sonrası, recall@k retrieval öncesi hesaplanır","hit@k 'en az bir alakalı chunk getirildi mi?' sorusuna cevap verir (0 ya da 1), recall@k ise 'tüm alakalı chunk'ların ne kadarı getirildi?' sorusuna cevap verir — sürekli bir kapsama ölçüsüdür (c). Hiçbir metrik sistematik olarak diğerinden büyük değildir; veriye bağlıdır (a yanlış). Her iki metrik de hesaplanmak için aynı etiketli alakalı kümeye ihtiyaç duyar (b yanlış). İkisi de generation gerçekleşmeden önce, sadece sıralı listeden hesaplanan retrieval-aşaması metrikleridir (d yanlış).",{"fields":190,"seniorities":368,"interview_shapes":369,"locales":374,"oauth":376,"question_count":379,"coach_enabled":380,"jd_match_enabled":380},[191,214,234,251,275,282,301,320,342,349,355,362],{"key":192,"name_tr":193,"name_en":193,"sort":111,"specializations":194},"backend","Backend",[195,198,201,202,205,208,211],{"key":196,"name":197,"field":192},"general","Genel",{"key":199,"name":200,"field":192},"go","Go",{"key":106,"name":107,"field":192},{"key":203,"name":204,"field":192},"java","Java",{"key":206,"name":207,"field":192},"csharp","C#\u002F.NET",{"key":209,"name":210,"field":192},"nodejs","Node.js",{"key":212,"name":213,"field":192},"php","PHP",{"key":215,"name_tr":216,"name_en":216,"sort":142,"specializations":217},"frontend","Frontend",[218,219,222,225,228,231],{"key":196,"name":197,"field":215},{"key":220,"name":221,"field":215},"javascript","JavaScript",{"key":223,"name":224,"field":215},"typescript","TypeScript",{"key":226,"name":227,"field":215},"react","React",{"key":229,"name":230,"field":215},"vue","Vue",{"key":232,"name":233,"field":215},"angular","Angular",{"key":235,"name_tr":236,"name_en":236,"sort":237,"specializations":238},"fullstack","Fullstack",3,[239,240,241,242,243,244,245,246,247,248,249,250],{"key":196,"name":197,"field":235},{"key":199,"name":200,"field":192},{"key":106,"name":107,"field":192},{"key":203,"name":204,"field":192},{"key":206,"name":207,"field":192},{"key":209,"name":210,"field":192},{"key":212,"name":213,"field":192},{"key":220,"name":221,"field":215},{"key":223,"name":224,"field":215},{"key":226,"name":227,"field":215},{"key":229,"name":230,"field":215},{"key":232,"name":233,"field":215},{"key":252,"name_tr":253,"name_en":253,"sort":254,"specializations":255},"devops-cloud","DevOps \u002F Cloud",4,[256,257,260,263,266,269,272],{"key":196,"name":197,"field":252},{"key":258,"name":259,"field":252},"aws","AWS",{"key":261,"name":262,"field":252},"gcp","GCP",{"key":264,"name":265,"field":252},"azure","Azure",{"key":267,"name":268,"field":252},"kubernetes","Kubernetes",{"key":270,"name":271,"field":252},"terraform","Terraform",{"key":273,"name":274,"field":252},"linux","Linux",{"key":5,"name_tr":6,"name_en":6,"sort":276,"specializations":277},5,[278,279,280,281],{"key":196,"name":197,"field":5},{"key":106,"name":107,"field":5},{"key":99,"name":100,"field":5},{"key":103,"name":104,"field":5},{"key":283,"name_tr":284,"name_en":285,"sort":286,"specializations":287},"database","Veritabanı","Database",6,[288,289,292,295,298],{"key":196,"name":197,"field":283},{"key":290,"name":291,"field":283},"postgresql","PostgreSQL",{"key":293,"name":294,"field":283},"mysql","MySQL",{"key":296,"name":297,"field":283},"mongodb","MongoDB",{"key":299,"name":300,"field":283},"redis","Redis",{"key":302,"name_tr":303,"name_en":304,"sort":305,"specializations":306},"mobile","Mobil","Mobile",7,[307,308,311,314,317],{"key":196,"name":197,"field":302},{"key":309,"name":310,"field":302},"ios-swift","iOS (Swift)",{"key":312,"name":313,"field":302},"android-kotlin","Android (Kotlin)",{"key":315,"name":316,"field":302},"flutter","Flutter",{"key":318,"name":319,"field":302},"react-native","React Native",{"key":321,"name_tr":322,"name_en":323,"sort":324,"specializations":325},"security","Güvenlik","Security",8,[326,327,330,333,336,339],{"key":196,"name":197,"field":321},{"key":328,"name":329,"field":321},"appsec","AppSec",{"key":331,"name":332,"field":321},"offensive-pentest","Offensive \u002F Pentest",{"key":334,"name":335,"field":321},"cloud-security","Cloud Security",{"key":337,"name":338,"field":321},"devsecops","DevSecOps",{"key":340,"name":341,"field":321},"blue-team-incident","Blue Team \u002F Incident",{"key":343,"name_tr":344,"name_en":345,"sort":346,"specializations":347},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[348],{"key":196,"name":197,"field":343},{"key":350,"name_tr":351,"name_en":351,"sort":352,"specializations":353},"data-engineer","Data Engineer",10,[354],{"key":196,"name":197,"field":350},{"key":356,"name_tr":357,"name_en":358,"sort":359,"specializations":360},"game-dev","Oyun Geliştirme","Game Development",11,[361],{"key":196,"name":197,"field":356},{"key":363,"name_tr":364,"name_en":364,"sort":365,"specializations":366},"ml-engineer","ML Engineer",12,[367],{"key":196,"name":197,"field":363},[14,15,16],{"junior":370,"mid":372,"senior":373},{"questions":371,"median_sec":3},20,{"questions":371,"median_sec":3},{"questions":371,"median_sec":3},[10,375],"en",[377,378],"google","github",21750,true]