[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:ml-engineer\u002Ffe-temporal-cyclical-features":4,"config":191},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":94,"samples":105},"ml-engineer","ML Engineer","","fe-temporal-cyclical-features","Fe Temporal Cyclical Features","en",75,1950,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,67,70,73,76,79,82,85,88,91],{"key":19,"name":20,"count":11},"cml-distance-clustering-dimreduction","Cml Distance Clustering Dimreduction",{"key":22,"name":23,"count":11},"cml-gradient-boosting-mechanics","Cml Gradient Boosting Mechanics",{"key":25,"name":26,"count":11},"cml-linear-logistic-internals","Cml Linear Logistic Internals",{"key":28,"name":29,"count":11},"cml-probabilistic-models-calibration","Cml Probabilistic Models Calibration",{"key":31,"name":32,"count":11},"cml-svm-kernels-margins","Cml Svm Kernels Margins",{"key":34,"name":35,"count":11},"cml-trees-randomforest-internals","Cml Trees Randomforest Internals",{"key":37,"name":38,"count":11},"dl-architecture-layers","Dl Architecture Layers",{"key":40,"name":41,"count":11},"dl-initialization-optimizers","Dl Initialization Optimizers",{"key":43,"name":44,"count":11},"dl-losses-output-layers","Dl Losses Output Layers",{"key":46,"name":47,"count":11},"dl-normalization-regularization","Dl Normalization Regularization",{"key":49,"name":50,"count":11},"dl-sequence-attention","Dl Sequence Attention",{"key":52,"name":53,"count":11},"dl-training-dynamics-backprop","Dl Training Dynamics Backprop",{"key":55,"name":56,"count":11},"fe-binning-discretization","Fe Binning Discretization",{"key":58,"name":59,"count":11},"fe-categorical-encoding-mechanics","Fe Categorical Encoding Mechanics",{"key":61,"name":62,"count":11},"fe-interactions-basis-expansion","Fe Interactions Basis Expansion",{"key":64,"name":65,"count":11},"fe-numeric-transforms-distributions","Fe Numeric Transforms Distributions",{"key":8,"name":9,"count":11},{"key":68,"name":69,"count":11},"fe-text-highcardinality-features","Fe Text Highcardinality Features",{"key":71,"name":72,"count":11},"ml-data-preparation","Ml Data Preparation",{"key":74,"name":75,"count":11},"ml-deployment-serving","Ml Deployment Serving",{"key":77,"name":78,"count":11},"ml-experimentation-reproducibility","Ml Experimentation Reproducibility",{"key":80,"name":81,"count":11},"ml-model-selection-tuning","Ml Model Selection Tuning",{"key":83,"name":84,"count":11},"ml-model-training-evaluation","Ml Model Training Evaluation",{"key":86,"name":87,"count":11},"ml-monitoring-drift","Ml Monitoring Drift",{"key":89,"name":90,"count":11},"ml-problem-framing","Ml Problem Framing",{"key":92,"name":93,"count":11},"ml-scaling-performance","Ml Scaling Performance",[95,99,102],{"key":96,"name":97,"count":98},"classical-ml","Classical ML",450,{"key":100,"name":101,"count":98},"deep-learning","Deep Learning",{"key":103,"name":104,"count":98},"feature-engineering","Feature Engineering",[106,124,138,151,164,178],{"id":107,"topic":9,"difficulty":108,"body":109,"options":110,"correct_key":118,"explanation":123},"01a04b40-ded2-7a40-b580-1f37311dfa8f",1,"In pandas 2.3 a Series `s` holds [10, 20, 30, 40, 50] on the integer index 0..4. A lag feature is built with `s.shift(1)`. What does the result contain?",[111,114,117,120],{"key":112,"text":113},"a","[20, 30, 40, 50, NaN], because each value is pulled one position earlier.",{"key":115,"text":116},"b","[10, 20, 30, 40, 50], because a lag relabels the index and leaves the values in place.",{"key":118,"text":119},"c","[NaN, 10, 20, 30, 40], because `shift` moves each value one position later.",{"key":121,"text":122},"d","[NaN, NaN, 10, 20, 30], because a one-step lag empties two rows at the head.","A positive `shift` argument pushes values downward along the index, so position i receives the value that used to sit at position i-1. The first position has no predecessor and becomes NaN, and the last original value (50) falls off the end. Exactly one NaN appears for `shift(1)`.",{"id":125,"topic":9,"difficulty":126,"body":127,"options":128,"correct_key":112,"explanation":137},"01a04b40-ded5-7a8a-9c02-f09ae78bf133",2,"A junior engineer writes `df['next_day_price'] = df['price'].shift(-1)` on a table sorted by date, one row per day. Mechanically, what value does row t receive?",[129,131,133,135],{"key":112,"text":130},"The price recorded on day t+1, one calendar step ahead of row t.",{"key":115,"text":132},"The price on day t-1, since a negative sign reverses the sort order first.",{"key":118,"text":134},"The price on day t itself, because pandas clips negative arguments to zero.",{"key":121,"text":136},"The mean of all prices after day t, since a negative shift aggregates forward.","A negative `shift` argument pulls values upward along the index: position t takes the value from position t+1. On a date-sorted daily table that is literally tomorrow's price sitting in today's row, and the final row becomes NaN because it has no successor. No aggregation or reordering happens.",{"id":139,"topic":9,"difficulty":126,"body":140,"options":141,"correct_key":121,"explanation":150},"01a04b40-ded8-74d2-8b84-2730e61831e4","A daily table has 100 rows, one per day, with no gaps. The team adds seven lag columns `lag_1` through `lag_7` built with `shift(1)` .. `shift(7)`, then calls `dropna()`. How many rows survive, and why?",[142,144,146,148],{"key":112,"text":143},"100 rows, because `dropna()` only removes rows where every column is missing.",{"key":115,"text":145},"99 rows, because only the very first row can be missing a predecessor.",{"key":118,"text":147},"86 rows, because each of the seven lags independently costs two rows at the head.",{"key":121,"text":149},"93 rows, because `lag_7` is undefined for the first seven positions and that column dominates.","`shift(k)` leaves exactly k NaNs at the head, so `lag_1` has 1, `lag_2` has 2, and `lag_7` has 7. Any row missing at least one column is dropped, so the head loss is the maximum over the columns, not the sum: rows 0..6 go, leaving 93. Measured on pandas 2.3 the first surviving index is 7.",{"id":152,"topic":9,"difficulty":108,"body":153,"options":154,"correct_key":115,"explanation":163},"01a04b40-dee1-74df-9e0b-26c6eb5f9f4e","With pandas 2.3, `pd.Series([2, 4, 6, 8, 10]).rolling(3).mean()` is evaluated. What is printed?",[155,157,159,161],{"key":112,"text":156},"[2.0, 3.0, 4.0, 6.0, 8.0]",{"key":115,"text":158},"[NaN, NaN, 4.0, 6.0, 8.0]",{"key":118,"text":160},"[NaN, NaN, NaN, 4.0, 6.0]",{"key":121,"text":162},"[NaN, 3.0, 4.0, 6.0, 8.0, NaN]","For an integer window, `min_periods` defaults to the window size, so the first two positions have fewer than three observations and stay NaN. From position 2 onward each output is the mean of that position and the two before it: (2+4+6)\u002F3 = 4, (4+6+8)\u002F3 = 6, (6+8+10)\u002F3 = 8. The output length always equals the input length.",{"id":165,"topic":9,"difficulty":166,"body":167,"options":168,"correct_key":118,"explanation":177},"01a04b40-dee3-7b5b-80ab-05045214696e",3,"To inspect what a window actually contains, an engineer runs on pandas 2.3: `pd.Series([1., 2., 3., 4., 5.]).rolling(3).apply(lambda w: w[-1], raw=True)`. The result is [NaN, NaN, 3.0, 4.0, 5.0]. What does this output establish about `rolling(3)`?",[169,171,173,175],{"key":112,"text":170},"The window is anchored on the previous row, so the label row stays outside its own window.",{"key":115,"text":172},"`apply` receives the window reversed, so `w[-1]` is really the oldest observation in it.",{"key":118,"text":174},"The row carrying the label is the last element of its own window.",{"key":121,"text":176},"The window is centred on the label row, so `w[-1]` is one row ahead of it.","`w[-1]` returns the final element of each window, and it reproduces the original value at every labelled position. That can only happen if the labelled row sits at the right edge of its window, so `rolling(3)` at position i covers positions i-2, i-1 and i. Running the same call with `w[0]` returns [NaN, NaN, 1.0, 2.0, 3.0], the value from two rows back, which confirms the same span.",{"id":179,"topic":9,"difficulty":166,"body":180,"options":181,"correct_key":112,"explanation":190},"01a04b40-dee6-714a-bbec-e88b3da32510","On a Series `s` = [4, 8, 12, 16, 20] in pandas 2.3, two candidate features are compared row by row: A = `s.rolling(3).mean()` gives [NaN, NaN, 8, 12, 16] and B = `s.shift(1).rolling(3).mean()` gives [NaN, NaN, NaN, 8, 12]. Which statement describes the mechanical relationship between them?",[182,184,186,188],{"key":112,"text":183},"B is A moved down one row, so B at position i averages positions i-3..i-1 while A includes position i.",{"key":115,"text":185},"B uses a window of four observations and only becomes defined one row later than A.",{"key":118,"text":187},"B averages the same three positions as A but divides by the shifted observation count, so the values differ.",{"key":121,"text":189},"B is centred while A is trailing, so the two differ at both ends of this 5-row Series.","The `shift(1)` moves every observation one position later before the window is applied, so the window that lands on position i sees positions i-3, i-2 and i-1. A's window on the same position covers i-2, i-1 and i. Measured on this Series, B's value stream is A's value stream delayed by exactly one row, and the divisor is three in both.",{"fields":192,"seniorities":414,"interview_shapes":415,"locales":420,"oauth":422,"question_count":425,"coach_enabled":426,"jd_match_enabled":426},[193,218,238,254,278,291,310,329,351,370,385,407],{"key":194,"name_tr":195,"name_en":195,"sort":108,"specializations":196},"backend","Backend",[197,200,203,206,209,212,215],{"key":198,"name":199,"field":194},"general","Genel",{"key":201,"name":202,"field":194},"go","Go",{"key":204,"name":205,"field":194},"python","Python",{"key":207,"name":208,"field":194},"java","Java",{"key":210,"name":211,"field":194},"csharp","C#\u002F.NET",{"key":213,"name":214,"field":194},"nodejs","Node.js",{"key":216,"name":217,"field":194},"php","PHP",{"key":219,"name_tr":220,"name_en":220,"sort":126,"specializations":221},"frontend","Frontend",[222,223,226,229,232,235],{"key":198,"name":199,"field":219},{"key":224,"name":225,"field":219},"javascript","JavaScript",{"key":227,"name":228,"field":219},"typescript","TypeScript",{"key":230,"name":231,"field":219},"react","React",{"key":233,"name":234,"field":219},"vue","Vue",{"key":236,"name":237,"field":219},"angular","Angular",{"key":239,"name_tr":240,"name_en":240,"sort":166,"specializations":241},"fullstack","Fullstack",[242,243,244,245,246,247,248,249,250,251,252,253],{"key":198,"name":199,"field":239},{"key":201,"name":202,"field":194},{"key":204,"name":205,"field":194},{"key":207,"name":208,"field":194},{"key":210,"name":211,"field":194},{"key":213,"name":214,"field":194},{"key":216,"name":217,"field":194},{"key":224,"name":225,"field":219},{"key":227,"name":228,"field":219},{"key":230,"name":231,"field":219},{"key":233,"name":234,"field":219},{"key":236,"name":237,"field":219},{"key":255,"name_tr":256,"name_en":256,"sort":257,"specializations":258},"devops-cloud","DevOps \u002F Cloud",4,[259,260,263,266,269,272,275],{"key":198,"name":199,"field":255},{"key":261,"name":262,"field":255},"aws","AWS",{"key":264,"name":265,"field":255},"gcp","GCP",{"key":267,"name":268,"field":255},"azure","Azure",{"key":270,"name":271,"field":255},"kubernetes","Kubernetes",{"key":273,"name":274,"field":255},"terraform","Terraform",{"key":276,"name":277,"field":255},"linux","Linux",{"key":279,"name_tr":280,"name_en":280,"sort":281,"specializations":282},"ai-engineer","AI Engineer",5,[283,284,285,288],{"key":198,"name":199,"field":279},{"key":204,"name":205,"field":279},{"key":286,"name":287,"field":279},"llm-rag","LLM\u002FRAG",{"key":289,"name":290,"field":279},"mlops","MLOps",{"key":292,"name_tr":293,"name_en":294,"sort":295,"specializations":296},"database","Veritabanı","Database",6,[297,298,301,304,307],{"key":198,"name":199,"field":292},{"key":299,"name":300,"field":292},"postgresql","PostgreSQL",{"key":302,"name":303,"field":292},"mysql","MySQL",{"key":305,"name":306,"field":292},"mongodb","MongoDB",{"key":308,"name":309,"field":292},"redis","Redis",{"key":311,"name_tr":312,"name_en":313,"sort":314,"specializations":315},"mobile","Mobil","Mobile",7,[316,317,320,323,326],{"key":198,"name":199,"field":311},{"key":318,"name":319,"field":311},"ios-swift","iOS (Swift)",{"key":321,"name":322,"field":311},"android-kotlin","Android (Kotlin)",{"key":324,"name":325,"field":311},"flutter","Flutter",{"key":327,"name":328,"field":311},"react-native","React Native",{"key":330,"name_tr":331,"name_en":332,"sort":333,"specializations":334},"security","Güvenlik","Security",8,[335,336,339,342,345,348],{"key":198,"name":199,"field":330},{"key":337,"name":338,"field":330},"appsec","AppSec",{"key":340,"name":341,"field":330},"offensive-pentest","Offensive \u002F Pentest",{"key":343,"name":344,"field":330},"cloud-security","Cloud Security",{"key":346,"name":347,"field":330},"devsecops","DevSecOps",{"key":349,"name":350,"field":330},"blue-team-incident","Blue Team \u002F Incident",{"key":352,"name_tr":353,"name_en":354,"sort":355,"specializations":356},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[357,358,361,364,367],{"key":198,"name":199,"field":352},{"key":359,"name":360,"field":352},"test-automation","Test Automation",{"key":362,"name":363,"field":352},"sdet","SDET",{"key":365,"name":366,"field":352},"performance-testing","Performance Testing",{"key":368,"name":369,"field":352},"mobile-qa","Mobile QA",{"key":371,"name_tr":372,"name_en":372,"sort":373,"specializations":374},"data-engineer","Data Engineer",10,[375,376,379,382],{"key":198,"name":199,"field":371},{"key":377,"name":378,"field":371},"pipelines-etl","Pipelines \u002F ETL",{"key":380,"name":381,"field":371},"streaming","Streaming",{"key":383,"name":384,"field":371},"warehousing","Warehousing",{"key":386,"name_tr":387,"name_en":388,"sort":389,"specializations":390},"game-dev","Oyun Geliştirme","Game Development",11,[391,392,395,398,401,404],{"key":198,"name":199,"field":386},{"key":393,"name":394,"field":386},"unity-csharp","Unity (C#)",{"key":396,"name":397,"field":386},"unreal-cpp","Unreal (C++)",{"key":399,"name":400,"field":386},"gameplay","Gameplay",{"key":402,"name":403,"field":386},"graphics-rendering","Graphics \u002F Rendering",{"key":405,"name":406,"field":386},"multiplayer-netcode","Multiplayer \u002F Netcode",{"key":5,"name_tr":6,"name_en":6,"sort":408,"specializations":409},12,[410,411,412,413],{"key":198,"name":199,"field":5},{"key":96,"name":97,"field":5},{"key":103,"name":104,"field":5},{"key":100,"name":101,"field":5},[14,15,16],{"junior":416,"mid":418,"senior":419},{"questions":417,"median_sec":3},20,{"questions":417,"median_sec":3},{"questions":417,"median_sec":3},[421,10],"tr",[423,424],"google","github",28500,true]