[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr: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","tr",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,"pandas 2.3'te bir `s` Series'i 0..4 tamsayı indeksinde [10, 20, 30, 40, 50] değerlerini tutuyor. `s.shift(1)` ile bir lag feature'ı üretiliyor. Sonuç ne içerir?",[111,114,117,120],{"key":112,"text":113},"a","[20, 30, 40, 50, NaN]; çünkü her değer bir konum öne çekilir.",{"key":115,"text":116},"b","[10, 20, 30, 40, 50]; çünkü gecikme yalnız indeksi yeniden etiketler, değerler yerinde kalır.",{"key":118,"text":119},"c","[NaN, 10, 20, 30, 40]; çünkü `shift` her değeri bir konum sonraya kaydırır.",{"key":121,"text":122},"d","[NaN, NaN, 10, 20, 30]; çünkü bir adımlık lag her zaman iki satırı boşaltır.","Pozitif `shift` argümanı değerleri indeks boyunca aşağı iter, yani i konumu daha önce i-1'de duran değeri alır. İlk konumun öncülü olmadığı için NaN olur ve son özgün değer (50) diziden düşer. `shift(1)` tam olarak bir NaN üretir.",{"id":125,"topic":9,"difficulty":126,"body":127,"options":128,"correct_key":112,"explanation":137},"01a04b40-ded5-7a8a-9c02-f09ae78bf133",2,"Bir junior mühendis, tarihe göre sıralı ve günde bir satır içeren bir tabloda `df['next_day_price'] = df['price'].shift(-1)` yazıyor. Mekanik olarak t satırı hangi değeri alır?",[129,131,133,135],{"key":112,"text":130},"t+1 gününde kaydedilen fiyatı, yani t satırından bir takvim adımı ilerideki değeri.",{"key":115,"text":132},"t-1 gününün fiyatını; eksi işareti önce sıralamayı ters çevirdiği için.",{"key":118,"text":134},"Yine t gününün fiyatını; pandas negatif argümanları sıfıra kırpar.",{"key":121,"text":136},"t gününden sonraki tüm fiyatların ortalamasını; negatif shift ileriye doğru toplulaştırır.","Negatif `shift` argümanı değerleri indeks boyunca yukarı çeker: t konumu t+1 konumundaki değeri alır. Tarihe göre sıralı günlük bir tabloda bu, yarının fiyatının bugünün satırına yerleşmesi demektir; ardılı olmayan son satır NaN olur. Ne bir toplulaştırma ne de yeniden sıralama gerçekleşir.",{"id":139,"topic":9,"difficulty":126,"body":140,"options":141,"correct_key":121,"explanation":150},"01a04b40-ded8-74d2-8b84-2730e61831e4","Günlük bir tabloda boşluksuz, günde bir satır olmak üzere 100 satır var. Ekip `shift(1)` .. `shift(7)` ile `lag_1`'den `lag_7`'ye yedi lag sütunu ekliyor ve ardından `dropna()` çağırıyor. Kaç satır hayatta kalır ve neden?",[142,144,146,148],{"key":112,"text":143},"100 satır; çünkü `dropna()` yalnız tüm sütunları eksik olan satırları atar.",{"key":115,"text":145},"99 satır; çünkü yalnız en baştaki satırın öncülü olmayabilir.",{"key":118,"text":147},"86 satır; çünkü yedi lag'in her biri baştan bağımsız olarak iki satıra mal olur.",{"key":121,"text":149},"93 satır; çünkü `lag_7` ilk yedi konumda tanımsızdır ve baştaki kaybı o sütun belirler.","`shift(k)` başta tam olarak k adet NaN bırakır; yani `lag_1`'de 1, `lag_2`'de 2, `lag_7`'de 7 tane. En az bir sütunu eksik olan satır atıldığı için baştaki kayıp sütunların toplamı değil maksimumudur: 0..6 satırları gider, geriye 93 satır kalır. pandas 2.3'te ölçüldüğünde hayatta kalan ilk indeks 7'dir.",{"id":152,"topic":9,"difficulty":108,"body":153,"options":154,"correct_key":115,"explanation":163},"01a04b40-dee1-74df-9e0b-26c6eb5f9f4e","pandas 2.3 ile `pd.Series([2, 4, 6, 8, 10]).rolling(3).mean()` değerlendiriliyor. Ekrana ne basılır?",[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]","Tamsayı pencerede `min_periods` varsayılan olarak pencere boyutuna eşittir; bu yüzden ilk iki konumda üçten az gözlem bulunur ve NaN kalır. 2. konumdan itibaren her çıktı o konumun ve kendisinden önceki iki konumun ortalamasıdır: (2+4+6)\u002F3 = 4, (4+6+8)\u002F3 = 6, (6+8+10)\u002F3 = 8. Çıktı uzunluğu her zaman girdi uzunluğuna eşittir.",{"id":165,"topic":9,"difficulty":166,"body":167,"options":168,"correct_key":118,"explanation":177},"01a04b40-dee3-7b5b-80ab-05045214696e",3,"Bir pencerenin gerçekte neyi içerdiğini görmek için bir mühendis pandas 2.3'te şunu çalıştırıyor: `pd.Series([1., 2., 3., 4., 5.]).rolling(3).apply(lambda w: w[-1], raw=True)`. Sonuç [NaN, NaN, 3.0, 4.0, 5.0] çıkıyor. Bu çıktı `rolling(3)` hakkında neyi kanıtlar?",[169,171,173,175],{"key":112,"text":170},"Pencere bir önceki satıra sabitlenmiştir, yani etiket satırı pencerenin parçası hiç değildir.",{"key":115,"text":172},"`apply` pencereyi ters sırada alır, dolayısıyla `w[-1]` aslında pencerenin en eski gözlemidir.",{"key":118,"text":174},"Etiketi taşıyan satır kendi penceresinin son elemanıdır.",{"key":121,"text":176},"Pencere etiket satırının etrafında ortalanmıştır, bu yüzden `w[-1]` ondan bir satır ileridedir.","`w[-1]` her pencerenin son elemanını döndürür ve etiketli her konumda özgün değeri aynen üretir. Bu ancak etiketli satır kendi penceresinin sağ ucunda oturuyorsa mümkündür; yani `rolling(3)` i konumunda i-2, i-1 ve i konumlarını kapsar. Aynı çağrı `w[0]` ile koşturulduğunda [NaN, NaN, 1.0, 2.0, 3.0] yani iki satır geriden gelen değer döner ve aynı aralığı doğrular.",{"id":179,"topic":9,"difficulty":166,"body":180,"options":181,"correct_key":112,"explanation":190},"01a04b40-dee6-714a-bbec-e88b3da32510","pandas 2.3'te `s` = [4, 8, 12, 16, 20] Series'i üzerinde iki aday feature satır satır karşılaştırılıyor: A = `s.rolling(3).mean()` → [NaN, NaN, 8, 12, 16] ve B = `s.shift(1).rolling(3).mean()` → [NaN, NaN, NaN, 8, 12]. İkisi arasındaki mekanik ilişkiyi hangi ifade tanımlar?",[182,184,186,188],{"key":112,"text":183},"B, A'nın bir satır aşağı kaymış hâlidir; B i konumunda i-3..i-1 konumlarını ortalar, A ise i konumunu da içerir.",{"key":115,"text":185},"B dört gözlemlik bir pencere kullanır ve ilk tanımlı değeri A'nınkinden bir satır geç belirir.",{"key":118,"text":187},"B, A ile aynı üç konumu ortalar ama kaydırılmış gözlem sayısına böldüğü için satır satır farklı değerler verir.",{"key":121,"text":189},"B ortalanmış, A ise sondan yürüyen bir penceredir; 5 satırlık bu Series'in iki ucunda da ayrışırlar.","`shift(1)`, pencere uygulanmadan önce her gözlemi bir konum sonraya taşır; böylece i konumuna düşen pencere i-3, i-2 ve i-1 konumlarını görür. A'nın aynı konumdaki penceresi ise i-2, i-1 ve i'yi kapsar. Bu Series üzerinde ölçüldüğünde B'nin değer akışı A'nınkinin tam bir satır gecikmiş hâlidir ve bölen ikisinde de üçtür.",{"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},[10,421],"en",[423,424],"google","github",28500,true]