[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:ml-engineer\u002Fml-experimentation-reproducibility":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-experimentation-reproducibility","Ml Experimentation Reproducibility","en",75,600,[14,15,16],"junior","mid","senior",[18,21,24,25,28,31,34,37],{"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":8,"name":9,"count":11},{"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,73,86,99,112],{"id":43,"topic":9,"difficulty":44,"body":45,"options":46,"correct_key":57,"explanation":59},"019f6b80-b785-73fa-9d7f-40ec60ffecf1",1,"Which of the following is generally considered essential metadata to log for an experiment, so its result can be reproduced later?",[47,50,53,56],{"key":48,"text":49},"a","Only the final accuracy number, since that's what matters most",{"key":51,"text":52},"b","The output visualizations, since they show what happened",{"key":54,"text":55},"c","The name of the person who happened to run the experiment",{"key":57,"text":58},"d","The code version, data version, and hyperparameter values used","Reproducing a result requires knowing exactly what produced it: which code, which data, and which settings (d). A final number alone (a) can't be traced back to its cause. Visualizations (b) describe an outcome, not the configuration behind it. Who ran it (c) is irrelevant to whether the run itself can be recreated.",{"id":61,"topic":9,"difficulty":44,"body":62,"options":63,"correct_key":48,"explanation":72},"019f6b80-b785-79ae-9aab-fb3656bd7e76","Why can the exact same training code produce a somewhat different model when run twice on the same dataset?",[64,66,68,70],{"key":48,"text":65},"Randomness sources like initialization or shuffling differ between runs unless a seed is fixed",{"key":51,"text":67},"The dataset silently changes its meaning between the two runs",{"key":54,"text":69},"Model training is deterministic by default in every framework, so this should never actually happen",{"key":57,"text":71},"The metric calculation itself always changes between runs","Unless randomness is pinned with a seed, things like weight initialization or data shuffling order can differ run to run, changing the outcome (a). The dataset's meaning (b) doesn't change on its own. Training is not deterministic by default in most setups (c is wrong). Metric calculation code is fixed and doesn't randomly change (d is wrong).",{"id":74,"topic":9,"difficulty":44,"body":75,"options":76,"correct_key":54,"explanation":85},"019f6b80-b786-70a9-818a-a901f70b13c3","What does 'fixing a random seed' aim to achieve for an experiment?",[77,79,81,83],{"key":48,"text":78},"It removes the need for a validation set entirely",{"key":51,"text":80},"It guarantees identical results on completely different hardware",{"key":54,"text":82},"It makes random operations like shuffling and initialization follow the same sequence on each run",{"key":57,"text":84},"It permanently prevents the model from overfitting","A fixed seed forces pseudo-random operations to produce the same sequence each run, which improves (though doesn't fully guarantee) repeatability (c). It has nothing to do with validation sets (a) or overfitting (d). It also doesn't guarantee identical results across different hardware, since hardware-level numeric behavior can still differ (b is wrong).",{"id":87,"topic":9,"difficulty":44,"body":88,"options":89,"correct_key":51,"explanation":98},"019f6b80-b786-76be-9bdf-f84218b44805","A junior engineer reruns a training script a week later using what looks like the same code file, but gets a noticeably different result. What is the most likely basic explanation to check first?",[90,92,94,96],{"key":48,"text":91},"The programming language itself has changed its arithmetic rules",{"key":51,"text":93},"The data, library versions, or seed may differ from before, even though the code file looks the same",{"key":54,"text":95},"Machine learning models are inherently required to give a different result every single time by design",{"key":57,"text":97},"The metric used must have been calculated incorrectly the first time","A code file 'looking the same' doesn't guarantee the data, library versions, or seed behind it are unchanged — any of those can drift silently (b). Languages don't quietly change arithmetic rules (a). ML training isn't required to be non-reproducible by design (c). Jumping to 'the first metric was wrong' (d) skips checking the more likely causes first.",{"id":100,"topic":9,"difficulty":44,"body":101,"options":102,"correct_key":57,"explanation":111},"019f6b80-b786-7f23-bf0c-5a8fbeabe2c7","Which of these is a basic reason full reproducibility of an ML experiment is harder than reproducing a typical deterministic software build?",[103,105,107,109],{"key":48,"text":104},"ML code cannot be version controlled the same way regular code can",{"key":51,"text":106},"Metrics like accuracy are never comparable between two separate runs",{"key":54,"text":108},"Programming languages do not support fixing random seeds",{"key":57,"text":110},"Results depend on data snapshots, seeds, and environment details, any of which can silently drift","Beyond code, an ML result also depends on the data snapshot, seed, and environment — several extra moving parts that a plain software build doesn't have (d). ML code is version-controlled the same way as any other code (a is wrong). Metrics remain comparable when the setup is controlled (b is wrong). Fixing seeds is a common, supported practice (c is wrong).",{"id":113,"topic":9,"difficulty":44,"body":114,"options":115,"correct_key":51,"explanation":124},"019f6b80-b787-763c-9618-f9eb29b8536e","In the context of experiment tracking, what is meant by 'data version'?",[116,118,120,122],{"key":48,"text":117},"The programming language version used to write the training script",{"key":51,"text":119},"The exact dataset snapshot used to produce a given result",{"key":54,"text":121},"The number of times the dataset file has been renamed",{"key":57,"text":123},"The folder path where the dataset happens to be stored","Data version identifies exactly which snapshot of the data was used, so the same data can be used again later (b). It has nothing to do with the language version (a), rename count (c), or a storage path (d) — a path can point to different content over time, which is precisely the problem versioning solves.",{"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]