[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:ml-engineer\u002Fjunior":4,"config":128},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","junior","","en",394,600,[7,13,14],"mid","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,75,88,101,114],{"id":44,"topic":18,"difficulty":45,"body":46,"options":47,"correct_key":52,"explanation":60},"019f6b80-b762-792b-8675-5d62a3c3d6c1",1,"What best describes 'feature engineering' in a machine learning pipeline?",[48,51,54,57],{"key":49,"text":50},"a","Collecting raw records into a single table",{"key":52,"text":53},"b","Creating or transforming input variables",{"key":55,"text":56},"c","Adjusting a model's parameters during training",{"key":58,"text":59},"d","Measuring accuracy on unseen data","Feature engineering is about shaping the input variables (raw or derived) that a model consumes, not about the training algorithm itself or evaluation afterward. Good features often matter more for final performance than the choice of algorithm.",{"id":62,"topic":18,"difficulty":63,"body":64,"options":65,"correct_key":58,"explanation":74},"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?",[66,68,70,72],{"key":49,"text":67},"Training fails due to missing values",{"key":52,"text":69},"Categorical columns get encoded in the wrong order",{"key":55,"text":71},"Test-set information leaks into training",{"key":58,"text":73},"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":76,"topic":18,"difficulty":63,"body":77,"options":78,"correct_key":49,"explanation":87},"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?",[79,81,83,85],{"key":49,"text":80},"The model may infer a false order between cities",{"key":52,"text":82},"The model auto-detects that the encoding is unordered",{"key":55,"text":84},"The category count shrinks after mapping",{"key":58,"text":86},"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":89,"topic":18,"difficulty":45,"body":90,"options":91,"correct_key":55,"explanation":100},"019f6b80-b769-73b4-bdab-51228fc331f4","Conceptually, what is the difference between rescaling a feature to a fixed range like 0-1 and rescaling it to have zero mean and unit variance?",[92,94,96,98],{"key":49,"text":93},"One applies only to text, the other only to numbers",{"key":52,"text":95},"They are the exact same transformation",{"key":55,"text":97},"One bounds to a range, the other centers on the mean",{"key":58,"text":99},"One removes outliers, the other requires them removed first","Rescaling to a fixed range and centering around the mean with unit variance are both ways of putting features on a comparable scale, but they compute different quantities (min\u002Fmax range vs. mean\u002Fvariance) and can behave differently in the presence of outliers.",{"id":102,"topic":18,"difficulty":63,"body":103,"options":104,"correct_key":52,"explanation":113},"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?",[105,107,109,111],{"key":49,"text":106},"Scaling parameters computed this way are always wrong",{"key":52,"text":108},"Test-set statistics leak into the training scaling",{"key":55,"text":110},"Categorical columns become impossible to encode",{"key":58,"text":112},"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":115,"topic":18,"difficulty":116,"body":117,"options":118,"correct_key":58,"explanation":127},"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?",[119,121,123,125],{"key":49,"text":120},"It has too many missing values to be useful",{"key":52,"text":122},"It is a categorical feature disguised as numeric",{"key":55,"text":124},"It needs to be scaled with the other features",{"key":58,"text":126},"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.",{"fields":129,"seniorities":312,"interview_shapes":313,"locales":318,"oauth":320,"question_count":323,"coach_enabled":324,"jd_match_enabled":324},[130,155,175,191,215,228,247,266,288,295,301,308],{"key":131,"name_tr":132,"name_en":132,"sort":45,"specializations":133},"backend","Backend",[134,137,140,143,146,149,152],{"key":135,"name":136,"field":131},"general","Genel",{"key":138,"name":139,"field":131},"go","Go",{"key":141,"name":142,"field":131},"python","Python",{"key":144,"name":145,"field":131},"java","Java",{"key":147,"name":148,"field":131},"csharp","C#\u002F.NET",{"key":150,"name":151,"field":131},"nodejs","Node.js",{"key":153,"name":154,"field":131},"php","PHP",{"key":156,"name_tr":157,"name_en":157,"sort":63,"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":116,"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":131},{"key":141,"name":142,"field":131},{"key":144,"name":145,"field":131},{"key":147,"name":148,"field":131},{"key":150,"name":151,"field":131},{"key":153,"name":154,"field":131},{"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},[7,13,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]