[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:ml-engineer\u002Fml-deployment-serving":4,"config":127},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":40,"samples":41},"ml-engineer","ML Engineer","","ml-deployment-serving","Ml Deployment Serving","en",75,600,[14,15,16],"junior","mid","senior",[18,21,22,25,28,31,34,37],{"key":19,"name":20,"count":11},"ml-data-preparation","Ml Data Preparation",{"key":8,"name":9,"count":11},{"key":23,"name":24,"count":11},"ml-experimentation-reproducibility","Ml Experimentation Reproducibility",{"key":26,"name":27,"count":11},"ml-model-selection-tuning","Ml Model Selection Tuning",{"key":29,"name":30,"count":11},"ml-model-training-evaluation","Ml Model Training Evaluation",{"key":32,"name":33,"count":11},"ml-monitoring-drift","Ml Monitoring Drift",{"key":35,"name":36,"count":11},"ml-problem-framing","Ml Problem Framing",{"key":38,"name":39,"count":11},"ml-scaling-performance","Ml Scaling Performance",[],[42,60,74,88,101,114],{"id":43,"topic":9,"difficulty":44,"body":45,"options":46,"correct_key":51,"explanation":59},"019f6b80-b777-7e72-9d85-bdbce5e3c526",1,"What is the fundamental difference between batch inference and online (real-time) inference?",[47,50,53,56],{"key":48,"text":49},"a","Batch inference always produces more accurate predictions than online inference",{"key":51,"text":52},"b","It scores inputs on a schedule, while online inference answers requests instantly",{"key":54,"text":55},"c","Online inference can only be used for image data, while batch inference is used for text data",{"key":57,"text":58},"d","Batch inference requires no compute resources because predictions are cached forever","Batch inference scores a large set of inputs together, typically on a recurring schedule, and stores results for later use. Online inference serves predictions synchronously for individual incoming requests, usually under a latency requirement.",{"id":61,"topic":9,"difficulty":62,"body":63,"options":64,"correct_key":48,"explanation":73},"019f6b80-b778-7550-8219-4e6eb1a4bfc2",2,"A team generates a personalized email digest for each user once a week, computed for all users at the same time overnight. Which serving approach fits this need best?",[65,67,69,71],{"key":48,"text":66},"Batch inference, since predictions are needed on a fixed schedule rather than instantly",{"key":51,"text":68},"Online inference, since every user must get a prediction within milliseconds of asking",{"key":54,"text":70},"Shadow deployment, since the goal is to compare two models without shipping either",{"key":57,"text":72},"Canary deployment, since only a small fraction of traffic should ever see predictions","Nothing here requires sub-second responses to a live request; predictions just need to exist before the digest is sent. Batch inference matches that scheduled, bulk nature far better than a real-time serving path.",{"id":75,"topic":9,"difficulty":76,"body":77,"options":78,"correct_key":54,"explanation":87},"019f6b80-b778-7b96-b7db-11baab359ac0",3,"A payment system must approve or decline each transaction before it completes, within a couple hundred milliseconds. Why is online inference required here rather than batch?",[79,81,83,85],{"key":48,"text":80},"Because online inference guarantees a higher accuracy score than batch inference on every dataset",{"key":51,"text":82},"Because batch inference cannot be run more than once per day for any use case",{"key":54,"text":84},"Because the decision is needed synchronously, per transaction, before the transaction can proceed",{"key":57,"text":86},"Because batch inference does not support numeric input features at all","The decision gates a specific transaction that is happening right now, so it must be produced synchronously for that single request. Precomputing an answer ahead of time is not possible because the transaction did not exist yet.",{"id":89,"topic":9,"difficulty":44,"body":90,"options":91,"correct_key":57,"explanation":100},"019f6b80-b779-726d-9af3-1b951ad75d47","Why do teams assign a version identifier to each trained model that gets deployed?",[92,94,96,98],{"key":48,"text":93},"Version identifiers make the model train faster on the next run",{"key":51,"text":95},"Version identifiers remove the need for any model to ever be retrained",{"key":54,"text":97},"Version identifiers automatically fix any bugs found in production",{"key":57,"text":99},"They identify the serving artifact and allow rollback if needed","Model versioning ties a deployed artifact to the exact training run, data, and configuration that produced it, which is what makes it possible to trace behavior and revert to a known-good version.",{"id":102,"topic":9,"difficulty":62,"body":103,"options":104,"correct_key":48,"explanation":113},"019f6b80-b779-77f5-8364-d3fa730fd93d","A newly deployed model starts producing clearly wrong predictions in production. The on-call engineer wants to quickly restore the previous behavior. What makes this possible?",[105,107,109,111],{"key":48,"text":106},"The previous version was kept as a deployable artifact ready to switch back to",{"key":51,"text":108},"The new model can be retrained from scratch within seconds to fix the issue",{"key":54,"text":110},"Production traffic automatically reverts itself whenever predictions look unusual",{"key":57,"text":112},"Online inference systems cannot be changed once they are first deployed","Restoring prior behavior quickly depends on having kept the earlier version as a ready artifact; without that, there is nothing concrete to roll back to, and recovery would require a fresh, slow retraining cycle.",{"id":115,"topic":9,"difficulty":62,"body":116,"options":117,"correct_key":51,"explanation":126},"019f6b80-b779-7e28-ac25-c63fc039ad87","A team records the following manifest alongside each deployed model:\n```\nmodel_version: 14\ntraining_data_snapshot: 2026-05-01\nhyperparameters_hash: 9f2a1c\ncode_commit: a83e771\n```\nWhat is the main purpose of recording these fields together?",[118,120,122,124],{"key":48,"text":119},"To let the serving system automatically choose the cheapest hardware for this model",{"key":51,"text":121},"To make this model's training conditions reproducible and traceable",{"key":54,"text":123},"To allow the training data to be deleted immediately after training finishes",{"key":57,"text":125},"To increase the model's prediction accuracy without any additional training","Recording the data snapshot, hyperparameters, and code commit together captures everything needed to reproduce or audit a given model version, which is the core purpose of a versioning manifest.",{"fields":128,"seniorities":311,"interview_shapes":312,"locales":317,"oauth":319,"question_count":322,"coach_enabled":323,"jd_match_enabled":323},[129,154,174,190,214,227,246,265,287,294,300,307],{"key":130,"name_tr":131,"name_en":131,"sort":44,"specializations":132},"backend","Backend",[133,136,139,142,145,148,151],{"key":134,"name":135,"field":130},"general","Genel",{"key":137,"name":138,"field":130},"go","Go",{"key":140,"name":141,"field":130},"python","Python",{"key":143,"name":144,"field":130},"java","Java",{"key":146,"name":147,"field":130},"csharp","C#\u002F.NET",{"key":149,"name":150,"field":130},"nodejs","Node.js",{"key":152,"name":153,"field":130},"php","PHP",{"key":155,"name_tr":156,"name_en":156,"sort":62,"specializations":157},"frontend","Frontend",[158,159,162,165,168,171],{"key":134,"name":135,"field":155},{"key":160,"name":161,"field":155},"javascript","JavaScript",{"key":163,"name":164,"field":155},"typescript","TypeScript",{"key":166,"name":167,"field":155},"react","React",{"key":169,"name":170,"field":155},"vue","Vue",{"key":172,"name":173,"field":155},"angular","Angular",{"key":175,"name_tr":176,"name_en":176,"sort":76,"specializations":177},"fullstack","Fullstack",[178,179,180,181,182,183,184,185,186,187,188,189],{"key":134,"name":135,"field":175},{"key":137,"name":138,"field":130},{"key":140,"name":141,"field":130},{"key":143,"name":144,"field":130},{"key":146,"name":147,"field":130},{"key":149,"name":150,"field":130},{"key":152,"name":153,"field":130},{"key":160,"name":161,"field":155},{"key":163,"name":164,"field":155},{"key":166,"name":167,"field":155},{"key":169,"name":170,"field":155},{"key":172,"name":173,"field":155},{"key":191,"name_tr":192,"name_en":192,"sort":193,"specializations":194},"devops-cloud","DevOps \u002F Cloud",4,[195,196,199,202,205,208,211],{"key":134,"name":135,"field":191},{"key":197,"name":198,"field":191},"aws","AWS",{"key":200,"name":201,"field":191},"gcp","GCP",{"key":203,"name":204,"field":191},"azure","Azure",{"key":206,"name":207,"field":191},"kubernetes","Kubernetes",{"key":209,"name":210,"field":191},"terraform","Terraform",{"key":212,"name":213,"field":191},"linux","Linux",{"key":215,"name_tr":216,"name_en":216,"sort":217,"specializations":218},"ai-engineer","AI Engineer",5,[219,220,221,224],{"key":134,"name":135,"field":215},{"key":140,"name":141,"field":215},{"key":222,"name":223,"field":215},"llm-rag","LLM\u002FRAG",{"key":225,"name":226,"field":215},"mlops","MLOps",{"key":228,"name_tr":229,"name_en":230,"sort":231,"specializations":232},"database","Veritabanı","Database",6,[233,234,237,240,243],{"key":134,"name":135,"field":228},{"key":235,"name":236,"field":228},"postgresql","PostgreSQL",{"key":238,"name":239,"field":228},"mysql","MySQL",{"key":241,"name":242,"field":228},"mongodb","MongoDB",{"key":244,"name":245,"field":228},"redis","Redis",{"key":247,"name_tr":248,"name_en":249,"sort":250,"specializations":251},"mobile","Mobil","Mobile",7,[252,253,256,259,262],{"key":134,"name":135,"field":247},{"key":254,"name":255,"field":247},"ios-swift","iOS (Swift)",{"key":257,"name":258,"field":247},"android-kotlin","Android (Kotlin)",{"key":260,"name":261,"field":247},"flutter","Flutter",{"key":263,"name":264,"field":247},"react-native","React Native",{"key":266,"name_tr":267,"name_en":268,"sort":269,"specializations":270},"security","Güvenlik","Security",8,[271,272,275,278,281,284],{"key":134,"name":135,"field":266},{"key":273,"name":274,"field":266},"appsec","AppSec",{"key":276,"name":277,"field":266},"offensive-pentest","Offensive \u002F Pentest",{"key":279,"name":280,"field":266},"cloud-security","Cloud Security",{"key":282,"name":283,"field":266},"devsecops","DevSecOps",{"key":285,"name":286,"field":266},"blue-team-incident","Blue Team \u002F Incident",{"key":288,"name_tr":289,"name_en":290,"sort":291,"specializations":292},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[293],{"key":134,"name":135,"field":288},{"key":295,"name_tr":296,"name_en":296,"sort":297,"specializations":298},"data-engineer","Data Engineer",10,[299],{"key":134,"name":135,"field":295},{"key":301,"name_tr":302,"name_en":303,"sort":304,"specializations":305},"game-dev","Oyun Geliştirme","Game Development",11,[306],{"key":134,"name":135,"field":301},{"key":5,"name_tr":6,"name_en":6,"sort":308,"specializations":309},12,[310],{"key":134,"name":135,"field":5},[14,15,16],{"junior":313,"mid":315,"senior":316},{"questions":314,"median_sec":3},20,{"questions":314,"median_sec":3},{"questions":314,"median_sec":3},[318,10],"tr",[320,321],"google","github",21750,true]