[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:ml-engineer\u002Fml-problem-framing":4,"config":126},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-problem-framing","Ml Problem Framing","en",75,600,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,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":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":8,"name":9,"count":11},{"key":38,"name":39,"count":11},"ml-scaling-performance","Ml Scaling Performance",[],[42,60,73,87,100,113],{"id":43,"topic":9,"difficulty":44,"body":45,"options":46,"correct_key":51,"explanation":59},"019f6b80-b7dc-7983-a793-1391990b7ba3",1,"Why is a dataset typically split into separate train, validation, and test sets?",[47,50,53,56],{"key":48,"text":49},"a","To make the training loop run faster by processing smaller chunks of data one at a time",{"key":51,"text":52},"b","To fit the model on one part, tune choices on another, and get an unbiased read on unseen data",{"key":54,"text":55},"c","To reduce the total amount of data that needs to be stored on disk during the project",{"key":57,"text":58},"d","To let the model train on every example twice so it memorizes the patterns more reliably","The train set fits model parameters, the validation set is used to make decisions (which model, which settings) without touching the test set, and the test set gives a final, unbiased read on generalization because it never influenced any decision. (a) and (c) describe storage\u002Fspeed side-effects, not the actual reason. (d) is wrong: repeating exposure to the same data risks memorization (overfitting), which is exactly what the split is meant to detect.",{"id":61,"topic":9,"difficulty":44,"body":62,"options":63,"correct_key":54,"explanation":72},"019f6b80-b7dd-7377-b40d-033134fb0953","In ML problem framing, what is a \"baseline model\"?",[64,66,68,70],{"key":48,"text":65},"The most complex model architecture the team is technically capable of building for the problem",{"key":51,"text":67},"A model that has already been deployed to production and is being replaced by a new candidate",{"key":54,"text":69},"A simple, cheap-to-build rule used as a reference point for judging a more complex model",{"key":57,"text":71},"The final model version chosen after all experimentation and hyperparameter tuning has finished","A baseline is intentionally simple (a rule of thumb, a majority-class guess, a basic linear model) so it is fast to build and gives a reference score. Every later, more complex model must beat it to justify its added cost and complexity. (a) is the opposite of the idea (baselines are simple, not the fanciest option). (b) confuses baseline with an existing production model, which is a different concept (a champion to beat, not necessarily simple). (d) describes the final chosen model, not the starting reference point.",{"id":74,"topic":9,"difficulty":75,"body":76,"options":77,"correct_key":48,"explanation":86},"019f6b80-b7dd-7a93-bd2b-1c9051a96f5a",2,"A team skips building a baseline and goes straight to a complex model that reaches 82% on their chosen metric. Why is this risky?",[78,80,82,84],{"key":48,"text":79},"Without a reference score, 82% cannot be judged as good, mediocre, or barely above a trivial rule",{"key":51,"text":81},"Complex models always score lower than baselines, so 82% is almost certainly an error in the pipeline",{"key":54,"text":83},"Skipping a baseline is only risky for regression problems, not for classification problems like this one",{"key":57,"text":85},"It is risky because complex models take longer to train, which has nothing to do with the metric value","A metric value is only interpretable relative to something: a trivial rule (predict the majority class), a simple heuristic, or a prior model. If a majority-class guess already scores 80% on this data, the complex model added almost nothing despite its cost. (b) is a false claim — nothing guarantees complex models score lower. (c) is wrong: the risk applies to any ML problem type. (d) mixes up training cost with the separate issue of not knowing if the score itself is good.",{"id":88,"topic":9,"difficulty":44,"body":89,"options":90,"correct_key":57,"explanation":99},"019f6b80-b7de-7264-b7ed-c79735b71756","What does the \"accuracy\" metric measure in a classification problem?",[91,93,95,97],{"key":48,"text":92},"The fraction of predicted positives that are actually positive",{"key":51,"text":94},"The fraction of actual positives that the model successfully identifies",{"key":54,"text":96},"The model's ability to rank positive examples above negative examples",{"key":57,"text":98},"The fraction of all predictions (positive and negative) that match the true label","Accuracy = (correct predictions) \u002F (total predictions), counting both classes. (a) describes precision. (b) describes recall. (c) describes the ranking notion behind AUC-ROC, not accuracy. Accuracy treats every prediction the same regardless of class, which is exactly why it becomes misleading when classes are imbalanced.",{"id":101,"topic":9,"difficulty":75,"body":102,"options":103,"correct_key":51,"explanation":112},"019f6b80-b7de-780e-aceb-c5f5b60ee9a4","What does \"precision\" answer, in plain terms, for a classifier?",[104,106,108,110],{"key":48,"text":105},"Of all the examples that are truly positive, how many did the model catch?",{"key":51,"text":107},"Of all the examples the model flagged as positive, how many are actually positive?",{"key":54,"text":109},"Across all possible decision thresholds, how well does the model separate the two classes?",{"key":57,"text":111},"How many predictions in total, positive and negative combined, were correct?","Precision = true positives \u002F (true positives + false positives): among what the model called positive, how much of it was right. (a) describes recall (coverage of actual positives). (c) describes a threshold-independent ranking measure like AUC-ROC. (d) describes accuracy. Precision is specifically about trusting a positive alarm once it fires.",{"id":114,"topic":9,"difficulty":75,"body":115,"options":116,"correct_key":54,"explanation":125},"019f6b80-b7de-7d34-9ff7-964b31ecd024","What does \"recall\" answer, in plain terms, for a classifier?",[117,119,121,123],{"key":48,"text":118},"Of everything the model flagged as positive, how much was actually positive?",{"key":51,"text":120},"How balanced are the predicted classes compared to the true class distribution?",{"key":54,"text":122},"Of all the examples that are truly positive, how many did the model actually find?",{"key":57,"text":124},"How consistent are the model's predictions across repeated runs on the same input?","Recall = true positives \u002F (true positives + false negatives): of everything that was truly positive, how much did the model manage to catch. (a) describes precision. (b) describes a class-balance property unrelated to recall's definition. (d) describes run-to-run stability, a different concern entirely (reproducibility, not recall).",{"fields":127,"seniorities":311,"interview_shapes":312,"locales":317,"oauth":319,"question_count":322,"coach_enabled":323,"jd_match_enabled":323},[128,153,173,190,214,227,246,265,287,294,300,307],{"key":129,"name_tr":130,"name_en":130,"sort":44,"specializations":131},"backend","Backend",[132,135,138,141,144,147,150],{"key":133,"name":134,"field":129},"general","Genel",{"key":136,"name":137,"field":129},"go","Go",{"key":139,"name":140,"field":129},"python","Python",{"key":142,"name":143,"field":129},"java","Java",{"key":145,"name":146,"field":129},"csharp","C#\u002F.NET",{"key":148,"name":149,"field":129},"nodejs","Node.js",{"key":151,"name":152,"field":129},"php","PHP",{"key":154,"name_tr":155,"name_en":155,"sort":75,"specializations":156},"frontend","Frontend",[157,158,161,164,167,170],{"key":133,"name":134,"field":154},{"key":159,"name":160,"field":154},"javascript","JavaScript",{"key":162,"name":163,"field":154},"typescript","TypeScript",{"key":165,"name":166,"field":154},"react","React",{"key":168,"name":169,"field":154},"vue","Vue",{"key":171,"name":172,"field":154},"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":133,"name":134,"field":174},{"key":136,"name":137,"field":129},{"key":139,"name":140,"field":129},{"key":142,"name":143,"field":129},{"key":145,"name":146,"field":129},{"key":148,"name":149,"field":129},{"key":151,"name":152,"field":129},{"key":159,"name":160,"field":154},{"key":162,"name":163,"field":154},{"key":165,"name":166,"field":154},{"key":168,"name":169,"field":154},{"key":171,"name":172,"field":154},{"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":133,"name":134,"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":133,"name":134,"field":215},{"key":139,"name":140,"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":133,"name":134,"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":133,"name":134,"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":133,"name":134,"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":133,"name":134,"field":288},{"key":295,"name_tr":296,"name_en":296,"sort":297,"specializations":298},"data-engineer","Data Engineer",10,[299],{"key":133,"name":134,"field":295},{"key":301,"name_tr":302,"name_en":303,"sort":304,"specializations":305},"game-dev","Oyun Geliştirme","Game Development",11,[306],{"key":133,"name":134,"field":301},{"key":5,"name_tr":6,"name_en":6,"sort":308,"specializations":309},12,[310],{"key":133,"name":134,"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]