[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:ml-engineer\u002Fml-scaling-performance":4,"config":125},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-scaling-performance","Ml Scaling Performance","en",75,600,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39],{"key":19,"name":20,"count":11},"ml-data-preparation","Ml Data Preparation",{"key":22,"name":23,"count":11},"ml-deployment-serving","Ml Deployment Serving",{"key":25,"name":26,"count":11},"ml-experimentation-reproducibility","Ml Experimentation Reproducibility",{"key":28,"name":29,"count":11},"ml-model-selection-tuning","Ml Model Selection Tuning",{"key":31,"name":32,"count":11},"ml-model-training-evaluation","Ml Model Training Evaluation",{"key":34,"name":35,"count":11},"ml-monitoring-drift","Ml Monitoring Drift",{"key":37,"name":38,"count":11},"ml-problem-framing","Ml Problem Framing",{"key":8,"name":9,"count":11},[],[42,60,73,86,99,112],{"id":43,"topic":9,"difficulty":44,"body":45,"options":46,"correct_key":57,"explanation":59},"019f6b80-b7ed-7002-8e55-4db9a7598700",1,"In distributed training, what does 'data parallelism' mean at a basic level?",[47,50,53,56],{"key":48,"text":49},"a","Splitting a single model's layers across multiple devices.",{"key":51,"text":52},"b","Running unrelated models on different machines and averaging their predictions.",{"key":54,"text":55},"c","Storing training data in one central database queried record by record.",{"key":57,"text":58},"d","Giving each worker a full model copy and a data slice, then merging gradients.","Data parallelism replicates the full model on every worker while splitting the dataset across workers; each worker computes gradients on its own data slice, and these gradients are combined (e.g. averaged) to update the shared model. This is different from splitting the model itself across devices.",{"id":61,"topic":9,"difficulty":44,"body":62,"options":63,"correct_key":57,"explanation":72},"019f6b80-b7ed-78ae-91b3-bd2b73af3066","What does 'model parallelism' mean, and when is it typically needed?",[64,66,68,70],{"key":48,"text":65},"Copying the whole model onto every worker to run predictions in parallel.",{"key":51,"text":67},"Splitting the training data into random shuffled batches before each epoch.",{"key":54,"text":69},"Training several unrelated small models and picking the best one afterward.",{"key":57,"text":71},"Splitting model parameters across devices when too large for one device.","Model parallelism partitions a single model's parameters (e.g. across layers) across multiple devices, so pieces of one forward\u002Fbackward pass run on different devices. It is used when a model does not fit into the memory of a single device, unlike data parallelism where each device holds a full model copy.",{"id":74,"topic":9,"difficulty":44,"body":75,"options":76,"correct_key":48,"explanation":85},"019f6b80-b7ed-7eea-979d-88fd592bf8c5","In the context of model serving, what is the basic difference between throughput and latency?",[77,79,81,83],{"key":48,"text":78},"Throughput is requests processed per unit time; latency is time per single request.",{"key":51,"text":80},"Throughput is time per single request; latency is requests processed per unit time.",{"key":54,"text":82},"Throughput and latency measure the same thing in different units.",{"key":57,"text":84},"Throughput applies only to training jobs; latency only to storage systems.","Throughput measures the rate of work completed (e.g. requests per second), while latency measures the time a single request takes from submission to response. Optimizing one does not automatically optimize the other, and the two are often in tension (see batching).",{"id":87,"topic":9,"difficulty":44,"body":88,"options":89,"correct_key":54,"explanation":98},"019f6b80-b7ee-74e4-a99a-57abd5d8ec2b","In a model serving system, what does 'caching' basically achieve?",[90,92,94,96],{"key":48,"text":91},"It permanently increases prediction accuracy for every input.",{"key":51,"text":93},"It removes the need for any monitoring of the serving system.",{"key":54,"text":95},"It stores past results so repeated requests skip recomputation.",{"key":57,"text":97},"It guarantees instant responses even for entirely novel requests.","Caching stores results of prior computations (e.g. predictions for a given input) so that when the same or a similar request arrives again, the stored result can be reused instead of running the full computation again. It helps with repeated inputs but does not speed up genuinely novel requests, and it has no effect on model accuracy.",{"id":100,"topic":9,"difficulty":44,"body":101,"options":102,"correct_key":57,"explanation":111},"019f6b80-b7ee-79b1-8913-c7e8b3a0a1bc","What is a 'straggler' in the context of synchronous distributed training?",[103,105,107,109],{"key":48,"text":104},"A worker that finishes early and is removed from the job.",{"key":51,"text":106},"A batch of training data duplicated across two workers by mistake.",{"key":54,"text":108},"A checkpoint that fails to load correctly after a crash.",{"key":57,"text":110},"A worker much slower than the others, delaying that step's update.","In synchronous distributed training, all workers must finish a step before the shared update happens. A straggler is a worker that is unusually slow on a given step (e.g. due to a slow machine or uneven data), so every other worker sits idle waiting for it, reducing overall training speed.",{"id":113,"topic":9,"difficulty":44,"body":114,"options":115,"correct_key":57,"explanation":124},"019f6b80-b7ef-7054-b754-484f61525f1a","A team notices that when they process inference requests one at a time, their accelerator (GPU\u002Fsimilar hardware) sits mostly idle between requests, and overall requests-per-second is low. What is the most basic explanation for why grouping several requests into a batch would help?",[116,118,120,122],{"key":48,"text":117},"It makes each individual prediction more accurate.",{"key":51,"text":119},"It removes the need to ever retrain the model.",{"key":54,"text":121},"It eliminates network latency between client and server.",{"key":57,"text":123},"It keeps the accelerator busy instead of sitting idle.","Processing one request at a time under-uses hardware that is capable of parallel computation, since it spends time idle between requests. Grouping requests into a batch lets the hardware do more useful work per unit of time, increasing throughput — though it can add some latency per individual request while waiting for a batch to fill.",{"fields":126,"seniorities":311,"interview_shapes":312,"locales":317,"oauth":319,"question_count":322,"coach_enabled":323,"jd_match_enabled":323},[127,152,173,190,214,227,246,265,287,294,300,307],{"key":128,"name_tr":129,"name_en":129,"sort":44,"specializations":130},"backend","Backend",[131,134,137,140,143,146,149],{"key":132,"name":133,"field":128},"general","Genel",{"key":135,"name":136,"field":128},"go","Go",{"key":138,"name":139,"field":128},"python","Python",{"key":141,"name":142,"field":128},"java","Java",{"key":144,"name":145,"field":128},"csharp","C#\u002F.NET",{"key":147,"name":148,"field":128},"nodejs","Node.js",{"key":150,"name":151,"field":128},"php","PHP",{"key":153,"name_tr":154,"name_en":154,"sort":155,"specializations":156},"frontend","Frontend",2,[157,158,161,164,167,170],{"key":132,"name":133,"field":153},{"key":159,"name":160,"field":153},"javascript","JavaScript",{"key":162,"name":163,"field":153},"typescript","TypeScript",{"key":165,"name":166,"field":153},"react","React",{"key":168,"name":169,"field":153},"vue","Vue",{"key":171,"name":172,"field":153},"angular","Angular",{"key":174,"name_tr":175,"name_en":175,"sort":176,"specializations":177},"fullstack","Fullstack",3,[178,179,180,181,182,183,184,185,186,187,188,189],{"key":132,"name":133,"field":174},{"key":135,"name":136,"field":128},{"key":138,"name":139,"field":128},{"key":141,"name":142,"field":128},{"key":144,"name":145,"field":128},{"key":147,"name":148,"field":128},{"key":150,"name":151,"field":128},{"key":159,"name":160,"field":153},{"key":162,"name":163,"field":153},{"key":165,"name":166,"field":153},{"key":168,"name":169,"field":153},{"key":171,"name":172,"field":153},{"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":132,"name":133,"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":132,"name":133,"field":215},{"key":138,"name":139,"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":132,"name":133,"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":132,"name":133,"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":132,"name":133,"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":132,"name":133,"field":288},{"key":295,"name_tr":296,"name_en":296,"sort":297,"specializations":298},"data-engineer","Data Engineer",10,[299],{"key":132,"name":133,"field":295},{"key":301,"name_tr":302,"name_en":303,"sort":304,"specializations":305},"game-dev","Oyun Geliştirme","Game Development",11,[306],{"key":132,"name":133,"field":301},{"key":5,"name_tr":6,"name_en":6,"sort":308,"specializations":309},12,[310],{"key":132,"name":133,"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]