[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:ai-engineer\u002Frag-embeddings-similarity":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","","rag-embeddings-similarity","Rag Embeddings Similarity","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,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":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":8,"name":9,"count":11},{"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,168,181],{"id":110,"topic":9,"difficulty":111,"body":112,"options":113,"correct_key":118,"explanation":126},"019f667f-d942-75a2-b433-b2e3a39e5e12",2,"You compute the cosine similarity between the vectors a=[1,0,1] and b=[1,1,0] using cos(a,b) = dot(a,b) \u002F (||a|| * ||b||). dot(a,b) = 1, ||a|| = sqrt(2), ||b|| = sqrt(2). What is cos(a,b)?",[114,117,120,123],{"key":115,"text":116},"a","0.0",{"key":118,"text":119},"b","0.5",{"key":121,"text":122},"c","0.707",{"key":124,"text":125},"d","1.0","cos(a,b) = 1 \u002F (sqrt(2) * sqrt(2)) = 1 \u002F 2 = 0.5. The dot product counts the shared dimension (index 0, where both are 1), and dividing by the product of magnitudes normalizes for vector length.",{"id":128,"topic":9,"difficulty":111,"body":129,"options":130,"correct_key":121,"explanation":139},"019f667f-d943-7006-95d6-e3dec253e213","A vector database stores document vectors as the rows of a matrix D, all L2-normalized, and normalizes the query q to unit length as well. To score every document at once it computes the matrix-vector product D @ q. With rows [1,0], [0.6,0.8], [0,1] and q=[1,0], the result is [1.0, 0.6, 0.0]. What does each entry of D @ q represent?",[131,133,135,137],{"key":115,"text":132},"The euclidean distance from the query to each document",{"key":118,"text":134},"The raw word-overlap count between query and each document",{"key":121,"text":136},"The cosine similarity of the query to each document, all at once",{"key":124,"text":138},"The number of nonzero dimensions each document shares with the query","Because every row of D and the query q are unit-length, each dot product row·q already equals the cosine similarity. Stacking those dot products as the single product D @ q therefore yields the full vector of cosine scores in one operation — the standard way a vector index scores a whole batch of candidates efficiently.",{"id":141,"topic":9,"difficulty":142,"body":143,"options":144,"correct_key":115,"explanation":153},"019f667f-d943-7c02-b0b3-3fd8c7e2eae8",3,"Vectors a=[1,2,2] and b=[2,2,1] both have magnitude 3. You L2-normalize each: a_n = [1\u002F3, 2\u002F3, 2\u002F3], b_n = [2\u002F3, 2\u002F3, 1\u002F3]. What is dot(a_n, b_n), rounded to 3 decimals?",[145,147,149,151],{"key":115,"text":146},"0.889",{"key":118,"text":148},"0.750",{"key":121,"text":150},"0.667",{"key":124,"text":152},"1.000","dot(a_n, b_n) = (1\u002F3)(2\u002F3) + (2\u002F3)(2\u002F3) + (2\u002F3)(1\u002F3) = 2\u002F9 + 4\u002F9 + 2\u002F9 = 8\u002F9 ≈ 0.889. Since both a and b already had magnitude 3, this equals cos(a,b) computed directly on the raw vectors too — normalizing first doesn't change the cosine value, only makes dot product usable in its place.",{"id":155,"topic":9,"difficulty":156,"body":157,"options":158,"correct_key":124,"explanation":167},"019f667f-d944-758b-9ad2-a87ab5e746b2",1,"A vector v = [3, 4] has magnitude ||v|| = sqrt(3^2 + 4^2) = 5. What is the L2-normalized vector v \u002F ||v||?",[159,161,163,165],{"key":115,"text":160},"[3, 4]",{"key":118,"text":162},"[1.5, 2.0]",{"key":121,"text":164},"[0.5, 0.5]",{"key":124,"text":166},"[0.6, 0.8]","v \u002F ||v|| = [3\u002F5, 4\u002F5] = [0.6, 0.8]. Each component is divided by the magnitude, so the resulting vector has length exactly 1 while pointing in the same direction as the original.",{"id":169,"topic":9,"difficulty":111,"body":170,"options":171,"correct_key":118,"explanation":180},"019f667f-d945-70b8-8932-7c63cec86287","A junior engineer ranks documents by raw dot product (no normalization). For query q=[1,0]: dot(q, d1=[2,0]) = 2, and dot(q, d2=[10,0]) = 10, so d2 is ranked first. But cos(q,d1) = 1.0 and cos(q,d2) = 1.0 — both are perfectly aligned with the query direction. What is the most accurate description of what went wrong?",[172,174,176,178],{"key":115,"text":173},"Nothing went wrong; d2 genuinely has higher semantic similarity to the query",{"key":118,"text":175},"Both point the same direction, so cosine rates them equal; dot only favored d2 due to magnitude",{"key":121,"text":177},"The dot product formula is mathematically incorrect and should never be used in retrieval",{"key":124,"text":179},"d2 must contain more words than d1, which is why its vector magnitude is larger","Dot product is sensitive to vector magnitude, not just direction — a longer vector inflates the score even with identical direction. Cosine divides out the magnitudes, so it correctly reports both documents as equally aligned with the query (cos=1.0 for each). Ranking by raw dot product can silently favor documents whose embeddings happen to have larger norms, unrelated to actual semantic relevance.",{"id":182,"topic":9,"difficulty":156,"body":183,"options":184,"correct_key":115,"explanation":193},"019f667f-d945-7a1d-b00f-4091934dcfcb","A retrieval system converts cosine similarity into a 'cosine distance' using distance = 1 - similarity. If cos(query, doc) = 0.8, what is the cosine distance?",[185,187,189,191],{"key":115,"text":186},"0.2",{"key":118,"text":188},"0.8",{"key":121,"text":190},"1.8",{"key":124,"text":192},"-0.2","distance = 1 - 0.8 = 0.2. This conversion is common because many nearest-neighbor libraries are built around minimizing a distance metric; a lower cosine distance means higher similarity, letting the same 'find smallest distance' search logic work for both similarity- and distance-based indexes.",{"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":156,"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":111,"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":142,"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},[379,10],"tr",[381,382],"google","github",21750,true]