[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:ai-engineer\u002Faimlops-ml-cicd-pipelines":4,"config":193},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","","aimlops-ml-cicd-pipelines","Aimlops Ml Cicd Pipelines","en",75,2025,[14,15,16],"junior","mid","senior",[18,21,24,27,30,31,34,37,40,43,46,49,52,55,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":8,"name":9,"count":11},{"key":32,"name":33,"count":11},"aimlops-model-monitoring-drift-detection","Aimlops Model Monitoring Drift Detection",{"key":35,"name":36,"count":11},"aimlops-model-versioning-registry","Aimlops Model Versioning Registry",{"key":38,"name":39,"count":11},"aipy-async-concurrency-ml-serving","Aipy Async Concurrency Ml Serving",{"key":41,"name":42,"count":11},"aipy-data-pipeline-dataloader","Aipy Data Pipeline Dataloader",{"key":44,"name":45,"count":11},"aipy-gpu-memory-management","Aipy Gpu Memory Management",{"key":47,"name":48,"count":11},"aipy-numpy-vectorization-broadcasting","Aipy Numpy Vectorization Broadcasting",{"key":50,"name":51,"count":11},"aipy-python-ml-packaging-environments","Aipy Python Ml Packaging Environments",{"key":53,"name":54,"count":11},"aipy-tensor-ops-autograd","Aipy Tensor Ops Autograd",{"key":56,"name":57,"count":11},"embeddings-vector-search","Embeddings Vector Search",{"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,180],{"id":110,"topic":9,"difficulty":111,"body":112,"options":113,"correct_key":115,"explanation":126},"019f94fd-69eb-7475-8c68-47cbbf00a84d",1,"In an ML CI\u002FCD pipeline, what is the main purpose of a pre-deploy validation gate placed right after the training\u002Fevaluation stage?",[114,117,120,123],{"key":115,"text":116},"a","It blocks promotion of the newly trained model to the next stage unless it meets defined metric thresholds.",{"key":118,"text":119},"b","It compresses the trained model's weights so the deployment artifact is smaller.",{"key":121,"text":122},"c","It automatically writes the training code's unit tests based on the model's architecture, then archives them as mandatory regression artifacts inside the model registry for future audits.",{"key":124,"text":125},"d","It re-labels the training dataset so the model can be retrained with corrected targets.","A validation gate is a checkpoint: if the candidate model's metrics (accuracy, latency, etc.) don't clear the configured bar, the pipeline stops and the model is not promoted further. (b) describes model compression, (c) describes test generation, (d) describes relabeling — none of these are what a validation gate does.",{"id":128,"topic":9,"difficulty":111,"body":129,"options":130,"correct_key":124,"explanation":139},"019f94fd-69ec-70e8-b3c8-4eb9e34bb54a","An ML pipeline supports three retraining trigger types: a fixed schedule (e.g., weekly), a manual trigger from an engineer, and an automated trigger fired when incoming feature data drifts from the training distribution. Which trigger type is the 'drift-based' one?",[131,133,135,137],{"key":115,"text":132},"The fixed weekly schedule, since drift naturally accumulates over a week.",{"key":118,"text":134},"The manual trigger, since a human notices drift before any system does.",{"key":121,"text":136},"None of the three; drift detection is unrelated to retraining triggers, since drift is only ever discovered manually by data scientists reviewing dashboards.",{"key":124,"text":138},"The automated trigger that fires when incoming feature data diverges from the training-time distribution.","A drift-based trigger monitors production input data against the training distribution and fires retraining automatically once divergence crosses a threshold. (a) is time-based, not distribution-based. (b) is human-initiated, not automated. (c) incorrectly denies that drift triggers exist.",{"id":141,"topic":9,"difficulty":142,"body":143,"options":144,"correct_key":118,"explanation":153},"019f94fd-69ee-74ab-8be9-dfb9da07a385",2,"A deploy gate requires the candidate model's accuracy to be no more than 0.01 below the current production model's accuracy. Production accuracy is 0.90. The candidate scores 0.885. Does the candidate pass the gate?",[145,147,149,151],{"key":115,"text":146},"Yes, because 0.885 rounds up to 0.89, which meets the minimum exactly.",{"key":118,"text":148},"No, because the minimum acceptable accuracy is 0.90 - 0.01 = 0.89, and 0.885 is below that.",{"key":121,"text":150},"Yes, because any accuracy above 0.80 is considered acceptable for production models.",{"key":124,"text":152},"No, because the candidate must strictly exceed production accuracy, not just come close to it.","min_acceptable = 0.90 - 0.01 = 0.89; the candidate's 0.885 is below 0.89, so the gate fails. (a) invents a rounding rule the gate doesn't use. (c) invents an unrelated flat threshold. (d) misstates the gate's rule as requiring strict improvement.",{"id":155,"topic":9,"difficulty":142,"body":156,"options":157,"correct_key":124,"explanation":166},"019f94fd-69ee-7cf6-8b44-49ca31f578da","A latency gate requires p95 inference latency to be at most 200ms. Load testing the candidate model reports p95 = 215ms. What does the gate do?",[158,160,162,164],{"key":115,"text":159},"It passes the candidate, since 215ms is within 10% of the 200ms limit.",{"key":118,"text":161},"It passes the candidate, since p95 latency only matters for the production model, not candidates.",{"key":121,"text":163},"It averages 215ms with the previous model's p95 and compares that average against 200ms.",{"key":124,"text":165},"It fails the candidate, since 215ms exceeds the 200ms threshold, and blocks the deploy.","215ms > 200ms, so the gate condition (p95 \u003C= 200ms) is not met and the candidate is blocked from deploying. (a) invents a tolerance band the gate doesn't have. (b) misapplies the gate only to production, when it's meant to check the candidate before promotion. (c) invents an unrelated averaging step.",{"id":168,"topic":9,"difficulty":111,"body":169,"options":170,"correct_key":115,"explanation":179},"019f94fd-69ef-7656-ade4-e6b71429300a","What is a 'canary training run' in an ML CI\u002FCD pipeline?",[171,173,175,177],{"key":115,"text":172},"A quick, small-scale training job (fewer epochs or a data sample) run first to catch pipeline bugs before committing to the full-scale training job.",{"key":118,"text":174},"A production deployment strategy that routes a small percentage of live traffic to a new model version, gradually increasing that percentage only after error rates and latency stay within accepted bounds for a fixed observation window.",{"key":121,"text":176},"A background job that continuously retrains the model on every new incoming record.",{"key":124,"text":178},"A manual code review step performed before merging changes to the training pipeline.","A canary training run is a cheap dry-run of the training pipeline (small subset of data, fewer steps) that surfaces broken configs, crashing code, or malformed data early, before spending full compute on the real run. (b) describes canary *deployment*, a different concept. (c) describes continuous\u002Fonline training. (d) describes code review, unrelated to training runs.",{"id":181,"topic":9,"difficulty":111,"body":182,"options":183,"correct_key":118,"explanation":192},"019f94fd-69ef-7df9-9852-4c7138bc6627","Why does an ML CI\u002FCD pipeline typically include a data schema validation step before the training stage?",[184,186,188,190],{"key":115,"text":185},"To automatically fix incorrect labels in the training dataset before training begins, using a heuristic confidence score computed from a separate labeling model to decide which rows to overwrite.",{"key":118,"text":187},"To catch unexpected changes in column types, missing columns, or shape mismatches before they silently break or bias training.",{"key":121,"text":189},"To compress the raw dataset so it takes less disk space during training.",{"key":124,"text":191},"To generate synthetic training examples when the dataset is too small.","Schema validation checks the incoming data's structure (column names, types, ranges) against an expected contract, so a silent upstream change doesn't corrupt training or produce a misleading model. (a), (c), and (d) describe label correction, compression, and data augmentation — none of which is what schema validation does.",{"fields":194,"seniorities":372,"interview_shapes":373,"locales":378,"oauth":380,"question_count":383,"coach_enabled":384,"jd_match_enabled":384},[195,218,238,255,279,286,305,324,346,353,359,366],{"key":196,"name_tr":197,"name_en":197,"sort":111,"specializations":198},"backend","Backend",[199,202,205,206,209,212,215],{"key":200,"name":201,"field":196},"general","Genel",{"key":203,"name":204,"field":196},"go","Go",{"key":106,"name":107,"field":196},{"key":207,"name":208,"field":196},"java","Java",{"key":210,"name":211,"field":196},"csharp","C#\u002F.NET",{"key":213,"name":214,"field":196},"nodejs","Node.js",{"key":216,"name":217,"field":196},"php","PHP",{"key":219,"name_tr":220,"name_en":220,"sort":142,"specializations":221},"frontend","Frontend",[222,223,226,229,232,235],{"key":200,"name":201,"field":219},{"key":224,"name":225,"field":219},"javascript","JavaScript",{"key":227,"name":228,"field":219},"typescript","TypeScript",{"key":230,"name":231,"field":219},"react","React",{"key":233,"name":234,"field":219},"vue","Vue",{"key":236,"name":237,"field":219},"angular","Angular",{"key":239,"name_tr":240,"name_en":240,"sort":241,"specializations":242},"fullstack","Fullstack",3,[243,244,245,246,247,248,249,250,251,252,253,254],{"key":200,"name":201,"field":239},{"key":203,"name":204,"field":196},{"key":106,"name":107,"field":196},{"key":207,"name":208,"field":196},{"key":210,"name":211,"field":196},{"key":213,"name":214,"field":196},{"key":216,"name":217,"field":196},{"key":224,"name":225,"field":219},{"key":227,"name":228,"field":219},{"key":230,"name":231,"field":219},{"key":233,"name":234,"field":219},{"key":236,"name":237,"field":219},{"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":200,"name":201,"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":200,"name":201,"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":200,"name":201,"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":200,"name":201,"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":200,"name":201,"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":200,"name":201,"field":347},{"key":354,"name_tr":355,"name_en":355,"sort":356,"specializations":357},"data-engineer","Data Engineer",10,[358],{"key":200,"name":201,"field":354},{"key":360,"name_tr":361,"name_en":362,"sort":363,"specializations":364},"game-dev","Oyun Geliştirme","Game Development",11,[365],{"key":200,"name":201,"field":360},{"key":367,"name_tr":368,"name_en":368,"sort":369,"specializations":370},"ml-engineer","ML Engineer",12,[371],{"key":200,"name":201,"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]