[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:ml-engineer\u002Fmid":4,"config":127},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":8,"topic_name":8,"spec_key":8,"spec_name":8,"locale":9,"cell_total":10,"field_total":11,"seniorities":12,"topics":15,"specs":41,"samples":42},"ml-engineer","ML Engineer","mid","","en",503,600,[13,7,14],"junior","senior",[16,20,23,26,29,32,35,38],{"key":17,"name":18,"count":19},"ml-data-preparation","Ml Data Preparation",75,{"key":21,"name":22,"count":19},"ml-deployment-serving","Ml Deployment Serving",{"key":24,"name":25,"count":19},"ml-experimentation-reproducibility","Ml Experimentation Reproducibility",{"key":27,"name":28,"count":19},"ml-model-selection-tuning","Ml Model Selection Tuning",{"key":30,"name":31,"count":19},"ml-model-training-evaluation","Ml Model Training Evaluation",{"key":33,"name":34,"count":19},"ml-monitoring-drift","Ml Monitoring Drift",{"key":36,"name":37,"count":19},"ml-problem-framing","Ml Problem Framing",{"key":39,"name":40,"count":19},"ml-scaling-performance","Ml Scaling Performance",[],[43,61,74,87,101,114],{"id":44,"topic":18,"difficulty":45,"body":46,"options":47,"correct_key":58,"explanation":60},"019f6b80-b767-7ac0-a701-65d3733be558",2,"A dataset has one feature ranging roughly 0-1 and another ranging roughly 0-1,000,000. Left unaddressed before training a distance- or gradient-based model, what problem does this most likely cause?",[48,51,54,57],{"key":49,"text":50},"a","Training fails due to missing values",{"key":52,"text":53},"b","Categorical columns get encoded in the wrong order",{"key":55,"text":56},"c","Test-set information leaks into training",{"key":58,"text":59},"d","The large-scale feature dominates the model","When features live on very different numeric scales, the feature with the larger range tends to dominate distance calculations or gradient magnitudes, effectively drowning out the smaller-scale feature's signal. This is a core motivation for scaling features to comparable ranges before training such models.",{"id":62,"topic":18,"difficulty":45,"body":63,"options":64,"correct_key":49,"explanation":73},"019f6b80-b768-7851-b1f5-dfc6c33fe6b4","A dataset has a 'city' column with values like Istanbul, Ankara, Izmir. A junior engineer maps these to integers alphabetically (Ankara=0, Istanbul=1, Izmir=2) and feeds them directly into a model that treats numeric inputs as ordered\u002Fcontinuous. What is the main risk?",[65,67,69,71],{"key":49,"text":66},"The model may infer a false order between cities",{"key":52,"text":68},"The model auto-detects that the encoding is unordered",{"key":55,"text":70},"The category count shrinks after mapping",{"key":58,"text":72},"Text columns can never be encoded for any model","Assigning arbitrary ordered integers to unordered categories introduces a false sense of magnitude and order (e.g., implying Izmir is 'twice' Ankara), which can mislead models that treat the input as ordered\u002Fcontinuous. Encoding choices need to respect whether a categorical variable actually has an inherent order.",{"id":75,"topic":18,"difficulty":45,"body":76,"options":77,"correct_key":52,"explanation":86},"019f6b80-b769-7d78-b0fc-f87c7bb4bf38","A junior engineer computes the scaling parameters (e.g., min\u002Fmax or mean\u002Fvariance) for a feature using the entire dataset, then splits the data into train and test afterward. What is the problem with this order of operations?",[78,80,82,84],{"key":49,"text":79},"Scaling parameters computed this way are always wrong",{"key":52,"text":81},"Test-set statistics leak into the training scaling",{"key":55,"text":83},"Categorical columns become impossible to encode",{"key":58,"text":85},"The training set always ends up smaller than intended","Fitting any data-derived statistic (scaling parameters, imputation values, encodings) on the full dataset before splitting lets test-set information influence what the model sees during training — a classic form of data leakage. The fix is to fit such transformations only on the training split, then apply them to validation\u002Ftest.",{"id":88,"topic":18,"difficulty":89,"body":90,"options":91,"correct_key":58,"explanation":100},"019f6b80-b76a-7695-a10b-6a7b8522978b",3,"A model predicting whether a loan will default includes a feature called 'days_since_last_payment_before_default', which is only populated (non-null) for loans that actually defaulted and is computed from records logged after the default event. What is the main issue with using this feature?",[92,94,96,98],{"key":49,"text":93},"It has too many missing values to be useful",{"key":52,"text":95},"It is a categorical feature disguised as numeric",{"key":55,"text":97},"It needs to be scaled with the other features",{"key":58,"text":99},"It is target leakage — only known after the outcome","A feature that is only populated because the target outcome already happened (and derived from post-outcome records) is a textbook case of target leakage: the model would learn to rely on information that does not exist at the moment a real prediction is needed, producing unrealistically strong offline metrics that collapse in production.",{"id":102,"topic":18,"difficulty":45,"body":103,"options":104,"correct_key":55,"explanation":113},"019f6b80-b76b-734c-a087-7401d723d108","A dataset is randomly split into train and test, but it turns out roughly 8% of rows are exact duplicates of other rows in the dataset, some of which ended up on both sides of the split. What is the main risk this creates?",[105,107,109,111],{"key":49,"text":106},"Training becomes much faster because of duplicates",{"key":52,"text":108},"The test set becomes perfectly stratified automatically",{"key":55,"text":110},"The model gets evaluated on memorized rows",{"key":58,"text":112},"Duplicated rows must be categorical, not numeric","When duplicate (or near-duplicate) records exist on both sides of a split, the model can be evaluated on data it has essentially already seen, which inflates test metrics and gives a false sense of how well the model generalizes to genuinely new data. Deduplicating before splitting is a standard precaution.",{"id":115,"topic":18,"difficulty":45,"body":116,"options":117,"correct_key":49,"explanation":126},"019f6b80-b76b-7a25-b7b5-dc5e72faf0cc","Which of the following best summarizes what 'data leakage' means in a machine learning workflow?",[118,120,122,124],{"key":49,"text":119},"Unavailable-at-prediction-time info skews training",{"key":52,"text":121},"Predictions being served slower than expected",{"key":55,"text":123},"A dataset exceeding its storage system's capacity",{"key":58,"text":125},"A feature's distribution shifting slightly between runs","Data leakage broadly covers any situation where information that would be unavailable at genuine prediction time (future data, target-derived signals, test-set statistics, duplicated records) leaks into training or evaluation, producing overly optimistic and unreliable metrics.",{"fields":128,"seniorities":312,"interview_shapes":313,"locales":318,"oauth":320,"question_count":323,"coach_enabled":324,"jd_match_enabled":324},[129,155,175,191,215,228,247,266,288,295,301,308],{"key":130,"name_tr":131,"name_en":131,"sort":132,"specializations":133},"backend","Backend",1,[134,137,140,143,146,149,152],{"key":135,"name":136,"field":130},"general","Genel",{"key":138,"name":139,"field":130},"go","Go",{"key":141,"name":142,"field":130},"python","Python",{"key":144,"name":145,"field":130},"java","Java",{"key":147,"name":148,"field":130},"csharp","C#\u002F.NET",{"key":150,"name":151,"field":130},"nodejs","Node.js",{"key":153,"name":154,"field":130},"php","PHP",{"key":156,"name_tr":157,"name_en":157,"sort":45,"specializations":158},"frontend","Frontend",[159,160,163,166,169,172],{"key":135,"name":136,"field":156},{"key":161,"name":162,"field":156},"javascript","JavaScript",{"key":164,"name":165,"field":156},"typescript","TypeScript",{"key":167,"name":168,"field":156},"react","React",{"key":170,"name":171,"field":156},"vue","Vue",{"key":173,"name":174,"field":156},"angular","Angular",{"key":176,"name_tr":177,"name_en":177,"sort":89,"specializations":178},"fullstack","Fullstack",[179,180,181,182,183,184,185,186,187,188,189,190],{"key":135,"name":136,"field":176},{"key":138,"name":139,"field":130},{"key":141,"name":142,"field":130},{"key":144,"name":145,"field":130},{"key":147,"name":148,"field":130},{"key":150,"name":151,"field":130},{"key":153,"name":154,"field":130},{"key":161,"name":162,"field":156},{"key":164,"name":165,"field":156},{"key":167,"name":168,"field":156},{"key":170,"name":171,"field":156},{"key":173,"name":174,"field":156},{"key":192,"name_tr":193,"name_en":193,"sort":194,"specializations":195},"devops-cloud","DevOps \u002F Cloud",4,[196,197,200,203,206,209,212],{"key":135,"name":136,"field":192},{"key":198,"name":199,"field":192},"aws","AWS",{"key":201,"name":202,"field":192},"gcp","GCP",{"key":204,"name":205,"field":192},"azure","Azure",{"key":207,"name":208,"field":192},"kubernetes","Kubernetes",{"key":210,"name":211,"field":192},"terraform","Terraform",{"key":213,"name":214,"field":192},"linux","Linux",{"key":216,"name_tr":217,"name_en":217,"sort":218,"specializations":219},"ai-engineer","AI Engineer",5,[220,221,222,225],{"key":135,"name":136,"field":216},{"key":141,"name":142,"field":216},{"key":223,"name":224,"field":216},"llm-rag","LLM\u002FRAG",{"key":226,"name":227,"field":216},"mlops","MLOps",{"key":229,"name_tr":230,"name_en":231,"sort":232,"specializations":233},"database","Veritabanı","Database",6,[234,235,238,241,244],{"key":135,"name":136,"field":229},{"key":236,"name":237,"field":229},"postgresql","PostgreSQL",{"key":239,"name":240,"field":229},"mysql","MySQL",{"key":242,"name":243,"field":229},"mongodb","MongoDB",{"key":245,"name":246,"field":229},"redis","Redis",{"key":248,"name_tr":249,"name_en":250,"sort":251,"specializations":252},"mobile","Mobil","Mobile",7,[253,254,257,260,263],{"key":135,"name":136,"field":248},{"key":255,"name":256,"field":248},"ios-swift","iOS (Swift)",{"key":258,"name":259,"field":248},"android-kotlin","Android (Kotlin)",{"key":261,"name":262,"field":248},"flutter","Flutter",{"key":264,"name":265,"field":248},"react-native","React Native",{"key":267,"name_tr":268,"name_en":269,"sort":270,"specializations":271},"security","Güvenlik","Security",8,[272,273,276,279,282,285],{"key":135,"name":136,"field":267},{"key":274,"name":275,"field":267},"appsec","AppSec",{"key":277,"name":278,"field":267},"offensive-pentest","Offensive \u002F Pentest",{"key":280,"name":281,"field":267},"cloud-security","Cloud Security",{"key":283,"name":284,"field":267},"devsecops","DevSecOps",{"key":286,"name":287,"field":267},"blue-team-incident","Blue Team \u002F Incident",{"key":289,"name_tr":290,"name_en":291,"sort":292,"specializations":293},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[294],{"key":135,"name":136,"field":289},{"key":296,"name_tr":297,"name_en":297,"sort":298,"specializations":299},"data-engineer","Data Engineer",10,[300],{"key":135,"name":136,"field":296},{"key":302,"name_tr":303,"name_en":304,"sort":305,"specializations":306},"game-dev","Oyun Geliştirme","Game Development",11,[307],{"key":135,"name":136,"field":302},{"key":5,"name_tr":6,"name_en":6,"sort":309,"specializations":310},12,[311],{"key":135,"name":136,"field":5},[13,7,14],{"junior":314,"mid":316,"senior":317},{"questions":315,"median_sec":3},20,{"questions":315,"median_sec":3},{"questions":315,"median_sec":3},[319,9],"tr",[321,322],"google","github",21750,true]