[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:ai-engineer\u002Faimlops-deployment-strategies-ml":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-deployment-strategies-ml","Aimlops Deployment Strategies Ml","en",75,2025,[14,15,16],"junior","mid","senior",[18,21,22,25,28,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":8,"name":9,"count":11},{"key":23,"name":24,"count":11},"aimlops-experiment-tracking-reproducibility","Aimlops Experiment Tracking Reproducibility",{"key":26,"name":27,"count":11},"aimlops-feature-store-data-versioning","Aimlops Feature Store Data Versioning",{"key":29,"name":30,"count":11},"aimlops-ml-cicd-pipelines","Aimlops Ml Cicd Pipelines",{"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":118,"explanation":126},"019f94fd-6985-7111-bb30-eaed9d6c42ff",1,"What does a 'canary deployment' mean specifically for an ML model release, compared to a generic canary deployment for regular application code?",[114,117,120,123],{"key":115,"text":116},"a","It only checks that the serving container starts and passes a basic health check, the same as any other service.",{"key":118,"text":119},"b","A small percentage of live traffic is routed to the new model version while model-specific signals (prediction distribution, business KPI, error rate) are monitored, not just infrastructure health.",{"key":121,"text":122},"c","Two identical production environments run side by side and all traffic is switched to the new one instantly.",{"key":124,"text":125},"d","The new model version is only ever evaluated offline against a static test set, and never receives live traffic, so it provides no information about how the model behaves under real production conditions or load.","A model canary reuses the general canary mechanic (small live-traffic slice) but the signals monitored are model-specific: prediction\u002Flabel distribution shifts and business KPIs, not just CPU\u002Fmemory or HTTP status. (a) describes generic infra health checks only. (c) describes blue-green. (d) describes offline evaluation, which is not a canary at all since it never touches live traffic.",{"id":128,"topic":9,"difficulty":111,"body":129,"options":130,"correct_key":124,"explanation":139},"019f94fd-6991-73c6-9e96-e5d609320803","What is 'shadow deployment' (shadow mode) for an ML model?",[131,133,135,137],{"key":115,"text":132},"The new model receives a small percentage of live traffic and its response is returned directly to those users.",{"key":118,"text":134},"Two full production environments are swapped instantly, and all traffic moves to the new one at once.",{"key":121,"text":136},"Instances running the old model are replaced gradually, a few at a time, by instances running the new model.",{"key":124,"text":138},"The new model runs in parallel on a copy of live production requests, its predictions are logged for comparison, but the response actually served to users always comes from the current production model.","In shadow mode, the candidate model receives (a copy of) real traffic purely for offline comparison; it never affects what the user sees, so there is zero direct risk to users from its output. (a) describes canary, where the new model's output is actually served. (b) describes blue-green. (c) describes rolling update.",{"id":141,"topic":9,"difficulty":142,"body":143,"options":144,"correct_key":115,"explanation":153},"019f94fd-6993-7226-963b-97b6d8282be2",2,"For ML systems, blue-green deployment has an extra requirement beyond a generic blue-green cutover of application code. What is it?",[145,147,149,151],{"key":115,"text":146},"The model artifact and its paired preprocessing\u002Ffeature-transformation code must be switched together atomically, so serving never pairs a new model with mismatched (old) feature logic.",{"key":118,"text":148},"Only the model weights are ever switched; the preprocessing code is expected to stay unchanged forever across all model versions.",{"key":121,"text":150},"Blue-green for ML means the model can only be deployed on CPU-based infrastructure, never GPU.",{"key":124,"text":152},"Blue-green for ML requires maintaining two separate copies of the training dataset, unrelated to the serving environment, making it a purely data-management concern with no bearing on cutover.","A model and the feature\u002Fpreprocessing code it was trained against form one coupled unit; cutting over the model without cutting over matching preprocessing risks train-serve skew, so both must switch atomically. (b) wrongly assumes preprocessing never changes. (c) and (d) describe constraints unrelated to what blue-green actually requires for ML.",{"id":155,"topic":9,"difficulty":111,"body":156,"options":157,"correct_key":121,"explanation":166},"019f94fd-6995-7b43-8f24-a30042e0a60f","At a basic level, what is a model A\u002FB test?",[158,160,162,164],{"key":115,"text":159},"Running the same model twice on the same input to check whether it is deterministic.",{"key":118,"text":161},"Comparing a model's accuracy on a training set versus a validation set before deployment.",{"key":121,"text":163},"Splitting users or traffic randomly into disjoint groups, each served by a different model version, and comparing an outcome metric between the groups.",{"key":124,"text":165},"Deploying a model to two different cloud regions to measure network latency differences only.","An A\u002FB test for models randomly assigns real traffic to two (or more) model variants and compares a defined outcome metric between groups to decide which performs better in production. (a) describes a determinism check, unrelated to comparing variants. (b) describes offline train\u002Fvalidation evaluation. (d) describes a latency benchmark, not a model comparison.",{"id":168,"topic":9,"difficulty":142,"body":169,"options":170,"correct_key":118,"explanation":179},"019f94fd-6997-775b-876a-1e72443bee43","What is a 'rollback trigger' in the context of ML model deployment?",[171,173,175,177],{"key":115,"text":172},"A manual ticket a developer files days after a deployment to request a future code review.",{"key":118,"text":174},"A predefined condition (e.g., a monitored metric crossing a threshold) that causes the serving system to automatically or semi-automatically revert to the last known-good model version.",{"key":121,"text":176},"A configuration flag that permanently disables all future deployments once set.",{"key":124,"text":178},"A scheduled nightly job that retrains the model from scratch regardless of current performance, with no connection to any monitored metric or threshold.","A rollback trigger ties a concrete, monitored condition (error rate spike, latency regression, drift alert, etc.) to an automatic or approval-gated revert action, so degraded behavior doesn't linger. (a) describes an unrelated manual process with no automation. (c) and (d) describe unrelated mechanisms that don't revert a bad deployment.",{"id":181,"topic":9,"difficulty":111,"body":182,"options":183,"correct_key":115,"explanation":192},"019f94fd-6999-722e-a7e0-42a402c421af","What does 'multi-model serving' (or model routing) mean?",[184,186,188,190],{"key":115,"text":185},"Multiple model versions run concurrently behind one serving layer, and a router directs each incoming request to the appropriate version based on rules like traffic weight, user segment, or request type.",{"key":118,"text":187},"Only one model version can ever exist in production at a time, and any new version must fully replace it before serving resumes.",{"key":121,"text":189},"A single model is copied to multiple identical replicas purely to share load evenly, with no version differences involved.",{"key":124,"text":191},"Training multiple models simultaneously on the same GPU to reduce total training time.","Multi-model serving\u002Frouting is specifically about serving several distinct model versions (or variants) at once and routing requests among them based on defined rules. (b) describes single-version-only serving, the opposite. (c) describes plain load-balanced replicas of one identical model, no routing between versions. (d) describes a training-time concept, unrelated to serving.",{"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]