[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en: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","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,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,"In the context of prompting a large language model, what does 'zero-shot' mean?",[114,117,120,123],{"key":115,"text":116},"a","The model is fine-tuned on a tiny dataset before being deployed.",{"key":118,"text":119},"b","The prompt gives the model a task with no worked examples included in it.",{"key":121,"text":122},"c","The model refuses to respond because temperature is set to zero.",{"key":124,"text":125},"d","The prompt includes exactly one worked example placed before the instruction to guide the format.","Zero-shot means the prompt contains no task examples; the model relies only on the instructions and its pretrained knowledge. Option d describes one-shot, not zero-shot. Option a confuses prompting with fine-tuning, and option c confuses temperature with the number of examples.",{"id":128,"topic":9,"difficulty":129,"body":130,"options":131,"correct_key":121,"explanation":140},"019f5912-4648-7e68-a1e8-7a3e3cdb0f08",2,"A junior AI engineer builds a few-shot prompt to classify support tickets into 'billing', 'technical', or 'account':\n```\nExample 1: 'The app crashes when I open settings.' -> technical\nExample 2: 'My export job keeps timing out after 10 minutes.' -> technical\nExample 3: 'The API returns a 500 error on every retry.' -> technical\n```\nIn production, the model almost always labels new tickets as 'technical', even clear billing questions. What is the most likely cause?",[132,134,136,138],{"key":115,"text":133},"The context window is too small to hold three short examples.",{"key":118,"text":135},"Few-shot prompting cannot reliably work for any classification task, regardless of how examples are chosen.",{"key":121,"text":137},"All three examples share one label, biasing the model toward that pattern.",{"key":124,"text":139},"Temperature must be lowered to correct the labeling bias.","Unbalanced or unrepresentative few-shot examples bias the model toward the pattern it saw most often. Three short examples easily fit in any modern context window, few-shot works fine for classification, and lowering temperature does not fix a skewed example set.",{"id":142,"topic":9,"difficulty":129,"body":143,"options":144,"correct_key":115,"explanation":153},"019f5912-4649-7991-b8f1-157920eeca77","What does asking a model to use 'chain-of-thought' prompting typically mean?",[145,147,149,151],{"key":115,"text":146},"Reasoning through intermediate steps before the final answer, often boosting accuracy.",{"key":118,"text":148},"Automatically chaining several separate API calls together in sequence without any developer involvement.",{"key":121,"text":150},"Providing unrelated examples purely to add prompt diversity.",{"key":124,"text":152},"Formatting the final answer as a numbered list.","Chain-of-thought prompting asks the model to work through intermediate reasoning steps, which tends to help on multi-step reasoning tasks. It is not about chaining API calls, adding unrelated examples, or a specific output list format.",{"id":155,"topic":9,"difficulty":111,"body":156,"options":157,"correct_key":124,"explanation":166},"019f5912-464a-70d7-af52-0289fcde6e79","In a typical chat-based LLM API, what is the general purpose of the system message compared to the user message?",[158,160,162,164],{"key":115,"text":159},"The system message is only for logging and never affects responses.",{"key":118,"text":161},"The user message sets persona for the conversation; the system carries the question.",{"key":121,"text":163},"There's no real difference; both roles are always treated identically.",{"key":124,"text":165},"The system message sets overall behavior, persona, or constraints.","By convention, the system message configures behavior, persona, or constraints, and the user message carries the concrete request. This is a general separation of concerns; it is not merely a logging artifact, and roles are not interchangeable or identical.",{"id":168,"topic":9,"difficulty":169,"body":170,"options":171,"correct_key":118,"explanation":180},"019f5912-464b-7273-af5c-18ae8d6361ed",3,"A team asks an LLM to 'return the extracted fields as JSON' inside a longer instruction, without showing an example JSON shape or explicitly forbidding extra text. In production, some responses come back with a short explanatory sentence before the JSON object, breaking their parser. What is the most robust fix?",[172,174,176,178],{"key":115,"text":173},"Increase max output tokens so the JSON has room to finish.",{"key":118,"text":175},"Show the exact JSON schema\u002Fexample and require JSON-only output.",{"key":121,"text":177},"Lower temperature to zero so JSON is always syntactically valid.",{"key":124,"text":179},"Have someone manually strip text before the first '{' each time.","The root cause is an underspecified output contract; showing the exact schema or example and instructing 'output only JSON' is the durable fix, paired with defensive parsing. Raising the token limit does not address the preamble, lowering temperature reduces randomness without guaranteeing format compliance, and manual per-response cleanup is not a scalable engineering solution.",{"id":182,"topic":9,"difficulty":129,"body":183,"options":184,"correct_key":115,"explanation":193},"019f5912-464b-7c67-af84-f0be8a74d7d3","A prompt includes the following instruction to an LLM:\n```\nExtract the customer's name and order ID from the message.\nReturn the result as JSON.\n```\nThe model sometimes returns `{\"name\": \"Ayşe\", \"orderId\": \"1234\"}` and sometimes `{\"customer_name\": \"Ayşe\", \"order\": \"1234\"}`. What is missing from the prompt?",[185,187,189,191],{"key":115,"text":186},"Show an explicit schema\u002Fexample with the exact expected key names.",{"key":118,"text":188},"A system message, since JSON output only works from the system role.",{"key":121,"text":190},"A chain-of-thought instruction to think step by step before extracting.",{"key":124,"text":192},"A lower max_tokens value so extra fields can't be invented.","Without a fixed schema or example, the model is free to choose plausible key names, causing inconsistent field naming. This is a prompt-specification gap, not a message-role restriction, and neither chain-of-thought nor a token limit would fix inconsistent naming.",{"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},[379,10],"tr",[381,382],"google","github",21750,true]