[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:ai-engineer\u002Fprompt-engineering":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","","prompt-engineering","Prompt Engineering","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,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":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":8,"name":9,"count":11},{"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,141,154,167,181],{"id":110,"topic":9,"difficulty":111,"body":112,"options":113,"correct_key":118,"explanation":126},"019f5912-4648-75b3-894a-7c36dc2968ff",1,"Bir büyük dil modeline prompt yazarken 'zero-shot' ne anlama gelir?",[114,117,120,123],{"key":115,"text":116},"a","Model, devreye alınmadan önce çok küçük bir veri setiyle fine-tune edilir.",{"key":118,"text":119},"b","Prompt, modelden hiç örnek verilmeden bir görevi yapmasını ister.",{"key":121,"text":122},"c","Temperature sıfıra ayarlandığında model yanıt vermeyi reddeder.",{"key":124,"text":125},"d","Prompt, formatı göstermek için talimattan önce yerleştirilmiş tam olarak bir örnek içerir.","Zero-shot, prompt içinde görev örneği bulunmadığı anlamına gelir; model yalnızca talimata ve önceden eğitildiği bilgiye dayanır. d şıkkı one-shot'u tanımlar; a prompting'i fine-tuning ile, c ise temperature'ı örnek sayısıyla karıştırır.",{"id":128,"topic":9,"difficulty":129,"body":130,"options":131,"correct_key":121,"explanation":140},"019f5912-4648-7e68-a1e8-7a3e3cdb0f08",2,"Bir junior AI engineer, destek taleplerini 'billing', 'technical', 'account' olarak sınıflandırmak için şu few-shot promptu hazırlıyor:\n```\nÖrnek 1: 'Ayarları açtığımda uygulama çöküyor.' -> technical\nÖrnek 2: 'Export işim 10 dakika sonra timeout oluyor.' -> technical\nÖrnek 3: 'API her retry'da 500 hatası dönüyor.' -> technical\n```\nÜretimde model, net billing sorularını bile neredeyse hep 'technical' olarak etiketliyor. En olası neden nedir?",[132,134,136,138],{"key":115,"text":133},"Context window üç kısa örneği tutamayacak kadar küçük.",{"key":118,"text":135},"Few-shot prompting, örnekler nasıl seçilirse seçilsin sınıflandırma görevlerinde güvenilir biçimde işe yaramaz.",{"key":121,"text":137},"Üç örnek de aynı etikete ait, bu da modeli o kalıba yönlendiriyor.",{"key":124,"text":139},"Etiketleme yanlılığını düzeltmek için temperature düşürülmeli.","Dengesiz veya temsili olmayan few-shot örnekleri, modeli en çok gördüğü kalıba yönlendirir. Üç kısa örnek herhangi bir modern context window'a rahatça sığar, few-shot sınıflandırmada işe yarar ve temperature düşürmek dengesiz örnek setini düzeltmez.",{"id":142,"topic":9,"difficulty":129,"body":143,"options":144,"correct_key":115,"explanation":153},"019f5912-4649-7991-b8f1-157920eeca77","Bir modelden 'chain-of-thought' prompting kullanmasını istemek genelde ne anlama gelir?",[145,147,149,151],{"key":115,"text":146},"Nihai cevaptan önce ara adımlar üzerinden akıl yürütmek, genelde doğruluğu artırır.",{"key":118,"text":148},"Birden fazla ayrı API çağrısını geliştirici müdahalesi olmadan otomatik olarak sırayla zincirlemek.",{"key":121,"text":150},"Sadece prompt çeşitliliği için ilgisiz örnekler vermek.",{"key":124,"text":152},"Nihai cevabı numaralı liste formatında yazdırmak.","Chain-of-thought prompting, modelin ara akıl yürütme adımlarından geçmesini ister; bu genelde çok adımlı akıl yürütme görevlerinde yardımcı olur. API çağrılarını zincirlemek, ilgisiz örnek eklemek veya belirli bir liste formatıyla ilgisi yoktur.",{"id":155,"topic":9,"difficulty":111,"body":156,"options":157,"correct_key":124,"explanation":166},"019f5912-464a-70d7-af52-0289fcde6e79","Tipik bir chat tabanlı LLM API'sinde system mesajının user mesajına göre genel amacı nedir?",[158,160,162,164],{"key":115,"text":159},"System mesajı yalnızca loglama içindir, yanıtları hiç etkilemez.",{"key":118,"text":161},"User mesajı persona'yı belirler, system mesajı ise soruyu taşır.",{"key":121,"text":163},"İkisi arasında gerçek bir fark yoktur, roller her zaman aynı ele alınır.",{"key":124,"text":165},"System mesajı genel davranışı\u002Fpersona'yı\u002Fkısıtları belirler.","Genel kabule göre system mesajı davranışı, persona'yı veya kısıtları yapılandırır; user mesajı ise somut isteği taşır. Bu genel bir sorumluluk ayrımıdır; salt loglama aracı değildir ve roller birbirinin yerine geçmez.",{"id":168,"topic":9,"difficulty":169,"body":170,"options":171,"correct_key":118,"explanation":180},"019f5912-464b-7273-af5c-18ae8d6361ed",3,"Bir ekip, uzun bir talimatın içinde LLM'den 'çıkarılan alanları JSON olarak döndür' diye istiyor ama örnek bir JSON şekli göstermiyor ve fazladan metni açıkça yasaklamıyor. Üretimde bazı yanıtlar, JSON objesinden önce kısa bir açıklama cümlesiyle geliyor ve parser'ı bozuyor. En sağlam çözüm nedir?",[172,174,176,178],{"key":115,"text":173},"JSON'un bitmesi için max output token'ı artırmak.",{"key":118,"text":175},"Tam JSON şemasını\u002Förneğini göstermek ve sadece-JSON iste.",{"key":121,"text":177},"JSON her zaman geçerli olsun diye temperature'ı sıfıra çekmek.",{"key":124,"text":179},"Her yanıtta ilk '{' öncesi metni elle silmek.","Kök neden, eksik belirtilmiş bir çıktı sözleşmesidir; tam şemayı\u002Förneği göstermek ve 'yalnızca JSON çıktısı ver' talimatı, savunmacı parsing ile birlikte kalıcı çözümdür. Token limitini artırmak ön eki gidermez, temperature düşürmek rastgeleliği azaltır ama format uyumunu garanti etmez, elle temizlik ise ölçeklenebilir bir mühendislik çözümü değildir.",{"id":182,"topic":9,"difficulty":129,"body":183,"options":184,"correct_key":115,"explanation":193},"019f5912-464b-7c67-af84-f0be8a74d7d3","Bir prompt, bir LLM'e şu talimatı içeriyor:\n```\nMesajdan müşterinin adını ve sipariş numarasını çıkar.\nSonucu JSON olarak döndür.\n```\nModel bazen `{\"name\": \"Ayşe\", \"orderId\": \"1234\"}`, bazen `{\"customer_name\": \"Ayşe\", \"order\": \"1234\"}` döndürüyor. Promptta eksik olan nedir?",[185,187,189,191],{"key":115,"text":186},"Beklenen tam anahtar adlarını gösteren açık bir şema\u002Förnek eklemek.",{"key":118,"text":188},"Bir system mesajı, çünkü JSON çıktısı yalnızca system rolünden çalışır.",{"key":121,"text":190},"Çıkarmadan önce adım adım düşünmesini söyleyen bir chain-of-thought talimatı.",{"key":124,"text":192},"Fazladan alan uydurmasın diye daha düşük bir max_tokens değeri.","Sabit bir şema veya örnek olmadan model, makul görünen anahtar adlarını seçmekte özgürdür, bu da tutarsız alan isimlendirmesine yol açar. Bu bir prompt-belirtim eksikliğidir, mesaj rolü kısıtlaması değildir; chain-of-thought ya da token limiti isimlendirme tutarsızlığını düzeltmez.",{"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":129,"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]