[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:ai-engineer\u002Fembeddings-vector-search":4,"config":194},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","","embeddings-vector-search","Embeddings Vector Search","tr",75,2025,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39,42,45,48,51,54,57,58,61,64,67,70,73,76,79,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":8,"name":9,"count":11},{"key":59,"name":60,"count":11},"evaluation-testing","Evaluation Testing",{"key":62,"name":63,"count":11},"fine-tuning-adaptation","Fine Tuning Adaptation",{"key":65,"name":66,"count":11},"inference-serving","Inference Serving",{"key":68,"name":69,"count":11},"llm-fundamentals","Llm Fundamentals",{"key":71,"name":72,"count":11},"prompt-engineering","Prompt Engineering",{"key":74,"name":75,"count":11},"rag-chunking-indexing","Rag Chunking Indexing",{"key":77,"name":78,"count":11},"rag-embeddings-similarity","Rag Embeddings Similarity",{"key":80,"name":81,"count":11},"rag-evaluation","Rag Evaluation",{"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,167,181],{"id":110,"topic":9,"difficulty":111,"body":112,"options":113,"correct_key":115,"explanation":126},"019f5912-458d-7c43-9736-ccc72ebefdfd",1,"Bir AI uygulamasında embedding en temel haliyle nedir?",[114,117,120,123],{"key":115,"text":116},"a","Bir metnin ya da başka bir verinin anlamını temsil eden sayısal bir vektör.",{"key":118,"text":119},"b","Depolama verimliliği için tutulan, orijinal dokümanın sıkıştırılmış bir yedeği.",{"key":121,"text":122},"c","İki dokümanın birebir aynı olup olmadığını hızlıca kontrol etmek için kullanılan bir hash değeri.",{"key":124,"text":125},"d","Girdi metninin tokenize edilmesiyle oluşturulan, tam kelime konumlarının bir index'i.","Embedding'ler metni (ya da görsel\u002Fses gibi başka verileri) anlamca birbirine yakın girdilerin vektör uzayında birbirine yakın düştüğü bir sayısal vektöre dönüştürür. Hash (c) tam eşleşen kopyaları yakalamak içindir, anlamı ölçmez; bu yüzden embedding'in sağladığı benzerlik aramasını sağlayamaz.",{"id":128,"topic":9,"difficulty":111,"body":129,"options":130,"correct_key":118,"explanation":139},"019f5912-458e-7423-876b-e5f159e42592","Bir ekip neden yalnızca keyword eşleşmesine güvenmek yerine arama için embedding kullanabilir?",[131,133,135,137],{"key":115,"text":132},"Embedding'ler genelde keyword aramadan daha az sonuç döner, bu da sunucu yükünü azaltır.",{"key":118,"text":134},"Embedding'ler, ortak kelime olmasa bile sorgunun anlamca ilişkili içeriği bulmasını sağlar.",{"key":121,"text":136},"Embedding'ler getirilen her dokümanın sorgu string'ini birebir içerdiğini garanti eder.",{"key":124,"text":138},"Embedding'ler, index'lemeden sonra orijinal metni saklama gereğini ortadan kaldırır.","Semantik arama tam token eşleşmesi yerine anlamı karşılaştırır, bu yüzden keyword aramanın tamamen kaçıracağı ilişkili içerikleri de gösterebilir. (c) şıkkı embedding tabanlı aramanın davranışının tam tersini anlatır — birebir string eşleşmesi şart koşulmaz.",{"id":141,"topic":9,"difficulty":142,"body":143,"options":144,"correct_key":121,"explanation":153},"019f5912-458f-7274-b6f3-7384c78af1a0",2,"Bir kullanıcı 'araba tamircisi' araması yapıyor ve sorguda hiç birlikte geçmese bile 'oto servis' geçen sonuçları da bekliyor. Bu senaryoya en uygun retrieval yaklaşımı hangisidir?",[145,147,149,151],{"key":115,"text":146},"Sorgu ile doküman arasında yalnızca birebir eşleşen token'ları kullanan keyword (lexical) arama.",{"key":118,"text":148},"Yalnızca sorgu kelimelerinin doküman içinde kaç kez tekrarlandığına göre sıralayan bir arama.",{"key":121,"text":150},"Kelimelerin birebir eşleşmesi yerine anlamı karşılaştıran, embedding tabanlı semantik arama.",{"key":124,"text":152},"Sorgu ile dokümanın birebir aynı bir alt string paylaşmasını şart koşan bir arama.","'Araba tamircisi' ile 'oto servis' hiçbir ortak token paylaşmasa da anlamca yakın olduğundan, embedding tabanlı benzerlik araması bu ikisini anlam üzerinden bağlayabilir. (a), (b) ve (d) gibi lexical yaklaşımların hepsi burada bulunmayan birebir kelime örtüşmesine dayanır.",{"id":155,"topic":9,"difficulty":142,"body":156,"options":157,"correct_key":124,"explanation":166},"019f5912-4590-70a1-aefa-dcee6989e83f","İki embedding vektörü karşılaştırılırken cosine similarity ne ölçer?",[158,160,162,164],{"key":115,"text":159},"İki vektörün aynı değere sahip olduğu boyutların tam sayısını.",{"key":118,"text":161},"İki vektörün diskte saklanırken kapladığı bellek boyutu farkını.",{"key":121,"text":163},"İki orijinal metin girdisi arasında örtüşen token sayısını.",{"key":124,"text":165},"İki vektör arasındaki açıyı; büyüklükten bağımsız olarak yönlerinin ne kadar benzer olduğunu gösterir.","Cosine similarity, iki vektör arasındaki açıya dayanır; bu yüzden vektör uzunluğundan bağımsız olarak yön benzerliğini yakalar. (a) ve (c) şıkları cosine similarity'nin hesaplamadığı, ilgisiz kavramları (birebir değer eşleşmesi, token örtüşmesi) anlatır.",{"id":168,"topic":9,"difficulty":169,"body":170,"options":171,"correct_key":118,"explanation":180},"019f5912-4591-7319-b15a-61c835a91e9f",3,"Junior bir mühendis şu benzerlik fonksiyonunu yazıyor:\n```\nscore = dot(query_vec, doc_vec)\n```\nBu hesaplamadan önce vektörler normalize edilmiyor. Bu ne tür bir soruna yol açabilir?",[172,174,176,178],{"key":115,"text":173},"İki vektörün boyutu farklı olduğunda dot product bir runtime hatası fırlatır.",{"key":118,"text":175},"Büyüklüğü daha fazla olan vektörler, anlamca daha ilgili olmasalar bile daha yüksek skor alarak sıralamayı bozabilir.",{"key":121,"text":177},"Sonuç, vektör uzunluğundan bağımsız olarak her zaman cosine similarity değerine eşit olur.",{"key":124,"text":179},"İki metin anlamca ilgisiz olduğunda skor her zaman negatif çıkar.","Ham dot product vektör uzunluğuna duyarlıdır; bu yüzden embedding'i büyük büyüklükte çıkan dokümanlar, daha küçük büyüklükteki gerçekten ilgili dokümanları skorla geçebilir. (c) şıkkı bunun tersini anlatır: normalize edilmemiş dot product yalnızca her iki vektör de zaten birim uzunluktaysa cosine similarity'ye eşit olur.",{"id":182,"topic":9,"difficulty":142,"body":183,"options":184,"correct_key":115,"explanation":193},"019f5912-4591-7f31-82d2-65eeec949318","İki embedding vektörü arasında Euclidean distance ne ölçer?",[185,187,189,191],{"key":115,"text":186},"Vektör uzayındaki iki nokta arasındaki, hem yön hem büyüklüğü içeren düz çizgi mesafesini.",{"key":118,"text":188},"İki vektörün aynı işarete sahip olduğu boyutların oranını.",{"key":121,"text":190},"Vektörleri üreten iki orijinal metin arasında ortak geçen kelime sayısını.",{"key":124,"text":192},"İki vektör arasındaki, büyüklüğü tamamen göz ardı eden açıyı.","Euclidean distance, iki nokta arasındaki geometrik düz çizgi mesafesidir; bu yüzden cosine similarity'nin aksine yalnızca yönden değil vektörlerin büyüklüğünden de etkilenir. (d) şıkkı aslında Euclidean distance'ı değil, cosine similarity'yi tarif eder.",{"fields":195,"seniorities":372,"interview_shapes":373,"locales":378,"oauth":380,"question_count":383,"coach_enabled":384,"jd_match_enabled":384},[196,219,239,255,279,286,305,324,346,353,359,366],{"key":197,"name_tr":198,"name_en":198,"sort":111,"specializations":199},"backend","Backend",[200,203,206,207,210,213,216],{"key":201,"name":202,"field":197},"general","Genel",{"key":204,"name":205,"field":197},"go","Go",{"key":106,"name":107,"field":197},{"key":208,"name":209,"field":197},"java","Java",{"key":211,"name":212,"field":197},"csharp","C#\u002F.NET",{"key":214,"name":215,"field":197},"nodejs","Node.js",{"key":217,"name":218,"field":197},"php","PHP",{"key":220,"name_tr":221,"name_en":221,"sort":142,"specializations":222},"frontend","Frontend",[223,224,227,230,233,236],{"key":201,"name":202,"field":220},{"key":225,"name":226,"field":220},"javascript","JavaScript",{"key":228,"name":229,"field":220},"typescript","TypeScript",{"key":231,"name":232,"field":220},"react","React",{"key":234,"name":235,"field":220},"vue","Vue",{"key":237,"name":238,"field":220},"angular","Angular",{"key":240,"name_tr":241,"name_en":241,"sort":169,"specializations":242},"fullstack","Fullstack",[243,244,245,246,247,248,249,250,251,252,253,254],{"key":201,"name":202,"field":240},{"key":204,"name":205,"field":197},{"key":106,"name":107,"field":197},{"key":208,"name":209,"field":197},{"key":211,"name":212,"field":197},{"key":214,"name":215,"field":197},{"key":217,"name":218,"field":197},{"key":225,"name":226,"field":220},{"key":228,"name":229,"field":220},{"key":231,"name":232,"field":220},{"key":234,"name":235,"field":220},{"key":237,"name":238,"field":220},{"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":201,"name":202,"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":201,"name":202,"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":201,"name":202,"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":201,"name":202,"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":201,"name":202,"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":201,"name":202,"field":347},{"key":354,"name_tr":355,"name_en":355,"sort":356,"specializations":357},"data-engineer","Data Engineer",10,[358],{"key":201,"name":202,"field":354},{"key":360,"name_tr":361,"name_en":362,"sort":363,"specializations":364},"game-dev","Oyun Geliştirme","Game Development",11,[365],{"key":201,"name":202,"field":360},{"key":367,"name_tr":368,"name_en":368,"sort":369,"specializations":370},"ml-engineer","ML Engineer",12,[371],{"key":201,"name":202,"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},[10,379],"en",[381,382],"google","github",21750,true]