[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:ml-engineer\u002Fml-model-training-evaluation":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-model-training-evaluation","Ml Model Training Evaluation","en",75,600,[14,15,16],"junior","mid","senior",[18,21,24,27,30,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":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":8,"name":9,"count":11},{"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-b7b0-7dac-8a67-bba71aefcd3d",1,"In machine learning, what does it mean for a model to 'overfit' the training data?",[47,50,53,56],{"key":48,"text":49},"a","The model fails to capture the underlying pattern even in the training data, producing high error there too.",{"key":51,"text":52},"b","The model's predictions on unseen data become consistently better than on the data it was trained on.",{"key":54,"text":55},"c","The model requires more training data because it has too few parameters to represent the pattern.",{"key":57,"text":58},"d","The model fits noise specific to the training set, so it performs poorly on new data.","Overfitting means the model captured patterns specific to the training sample (including noise) rather than the true underlying relationship, so it fails to generalize to new data. Option a describes underfitting, and b\u002Fc describe the opposite of what actually happens when a model overfits.",{"id":61,"topic":9,"difficulty":44,"body":62,"options":63,"correct_key":48,"explanation":72},"019f6b80-b7b1-79e6-a0dd-9b3fbed5fadb","What is 'underfitting' in the context of a trained model?",[64,66,68,70],{"key":48,"text":65},"The model is too simple to capture the pattern, performing poorly on both training and unseen data.",{"key":51,"text":67},"The model performs extremely well on training data but poorly on unseen data.",{"key":54,"text":69},"The model was trained on too much data, which slows down convergence during training.",{"key":57,"text":71},"The model achieves near-perfect accuracy on the test set but noticeably lower accuracy on the training set.","Underfitting happens when a model is not expressive enough (or has not learned enough) to capture the real signal, so error stays high everywhere, including on the training data it was fit on. Option b describes overfitting instead.",{"id":74,"topic":9,"difficulty":44,"body":75,"options":76,"correct_key":54,"explanation":85},"019f6b80-b7b2-77ca-a202-fce230f88929","Why do we split a dataset into a training set and a separate test set before evaluating a model?",[77,79,81,83],{"key":48,"text":78},"To reduce the total amount of data the model has to process, which saves compute time during training.",{"key":51,"text":80},"Because most training algorithms technically cannot process more than a fixed number of rows at once.",{"key":54,"text":82},"To estimate performance on unseen data, since evaluating on training data alone can hide overfitting.",{"key":57,"text":84},"To guarantee that every class label appears an equal number of times in the dataset.","A held-out test set that the model never trains on is the standard way to estimate real-world generalization; evaluating only on training data would hide overfitting and give an overly optimistic score. Options a, b, and d are not the actual reasons for the split.",{"id":87,"topic":9,"difficulty":44,"body":88,"options":89,"correct_key":51,"explanation":98},"019f6b80-b7b3-73be-8645-be5a9dfc755c","In a binary classification confusion matrix, what does a 'false positive' represent?",[90,92,94,96],{"key":48,"text":91},"A case where the model correctly predicted the negative class.",{"key":51,"text":93},"A case where the model predicted the positive class, but the true label was actually negative.",{"key":54,"text":95},"A case where the model predicted the negative class, but the true label was actually positive.",{"key":57,"text":97},"A case where the model correctly predicted the positive class.","A false positive is a false alarm: the model says 'positive' when the actual label is 'negative'. Option c describes a false negative (a missed positive case), while a and d describe correct predictions.",{"id":100,"topic":9,"difficulty":44,"body":101,"options":102,"correct_key":48,"explanation":111},"019f6b80-b7b4-7078-89f1-9fd51320cbad","Why can accuracy alone be a misleading metric when a dataset is highly imbalanced (e.g., 99% negative, 1% positive)?",[103,105,107,109],{"key":48,"text":104},"Always predicting the majority class can yield very high accuracy while missing the minority class entirely.",{"key":51,"text":106},"Accuracy cannot be computed at all when classes are imbalanced, since the formula requires an equal count of each class.",{"key":54,"text":108},"Accuracy only applies to regression problems, not to classification problems.",{"key":57,"text":110},"Accuracy penalizes the model more heavily for errors on the majority class than for errors on the minority class.","With a 99\u002F1 split, a trivial 'always predict negative' model scores 99% accuracy while being useless for the minority class, which is why metrics like precision, recall, or PR-AUC are usually reported alongside accuracy on imbalanced data. Options b, c, and d misdescribe how accuracy is defined.",{"id":113,"topic":9,"difficulty":44,"body":114,"options":115,"correct_key":57,"explanation":124},"019f6b80-b7b4-7e63-8506-f5e7ab909409","What does 'early stopping' mean during model training?",[116,118,120,122],{"key":48,"text":117},"Reducing the size of the training dataset before training begins so the process finishes faster.",{"key":51,"text":119},"Skipping the validation step entirely to speed up each training iteration.",{"key":54,"text":121},"Halting training at a fixed number of iterations decided before the dataset was even inspected.",{"key":57,"text":123},"Stopping training once the validation metric stops improving, to avoid overfitting.","Early stopping watches a validation metric during training and halts once it stops improving (or starts degrading), which prevents the model from continuing to fit noise in the training set. Options a, b, and c describe unrelated or fixed procedures that don't react to validation performance.",{"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]