[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr: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","tr",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,"Bir veri seti neden genellikle ayrı train, validation ve test setlerine bölünür?",[47,50,53,56],{"key":48,"text":49},"a","Eğitim döngüsünü hızlandırmak için veriyi küçük parçalar halinde işlemek amacıyla",{"key":51,"text":52},"b","Modeli bir parçada eğitmek, kararları başka parçada ayarlamak, tarafsız bir son ölçüm almak",{"key":54,"text":55},"c","Projede diskte saklanması gereken toplam veri miktarını azaltmak için",{"key":57,"text":58},"d","Modelin desenleri daha güvenilir ezberlemesi için her örneği iki kez görmesini sağlamak için","Train seti model parametrelerini fit eder, validation seti test setine dokunmadan karar almak (hangi model, hangi ayar) için kullanılır, test seti ise hiçbir karara etki etmediği için genelleme hakkında tarafsız bir son ölçüm verir. (a) ve (c) depolama\u002Fhız yan etkilerini anlatır, gerçek nedeni değil. (d) yanlıştır: aynı veriye tekrar tekrar maruz kalmak ezberlemeyi (overfitting) riske atar — bölmenin tam olarak tespit etmeye çalıştığı şey budur.",{"id":61,"topic":9,"difficulty":44,"body":62,"options":63,"correct_key":54,"explanation":72},"019f6b80-b7dd-7377-b40d-033134fb0953","ML problem çerçevelemede \"baseline model\" (temel model) nedir?",[64,66,68,70],{"key":48,"text":65},"Ekibin problem için teknik olarak inşa edebileceği en karmaşık model mimarisi",{"key":51,"text":67},"Zaten production'a alınmış ve yeni bir aday tarafından değiştirilmekte olan model",{"key":54,"text":69},"Daha karmaşık bir modeli yargılamak için referans noktası olarak kullanılan basit, ucuza kurulabilen bir kural",{"key":57,"text":71},"Tüm deneyleme ve hyperparameter tuning bittikten sonra seçilen nihai model versiyonu","Baseline kasıtlı olarak basittir (bir kural, çoğunluk sınıfı tahmini, basit bir doğrusal model) — böylece hızlıca kurulur ve bir referans skor verir. Sonrasında gelen her daha karmaşık model, ek maliyetini ve karmaşıklığını haklı çıkarmak için bunu geçmelidir. (a) fikrin tam tersidir (baseline'lar basittir, en gösterişli seçenek değil). (b) baseline'ı mevcut production modeliyle karıştırır; bu farklı bir kavramdır (yenilmesi gereken şampiyon, mutlaka basit olması gerekmez). (d) başlangıç referans noktasını değil, seçilen nihai modeli anlatır.",{"id":74,"topic":9,"difficulty":75,"body":76,"options":77,"correct_key":48,"explanation":86},"019f6b80-b7dd-7a93-bd2b-1c9051a96f5a",2,"Bir ekip baseline kurmayı atlayıp doğrudan karmaşık bir modele geçiyor ve seçtikleri metrikte %82'ye ulaşıyor. Bu neden risklidir?",[78,80,82,84],{"key":48,"text":79},"Bir referans skor olmadan %82'nin iyi mi, vasat mı yoksa basit bir kuraldan biraz mı iyi olduğu yargılanamaz",{"key":51,"text":81},"Karmaşık modeller her zaman baseline'lardan daha düşük skorlar, bu yüzden %82 neredeyse kesin pipeline'da bir hatadır",{"key":54,"text":83},"Baseline atlamak yalnızca regresyon problemlerinde risklidir, bunun gibi sınıflandırma problemlerinde değil",{"key":57,"text":85},"Risklidir çünkü karmaşık modellerin eğitimi daha uzun sürer, bunun metrik değeriyle bir ilgisi yoktur","Bir metrik değeri ancak bir şeye göreceli olarak yorumlanabilir: basit bir kural (çoğunluk sınıfını tahmin et), basit bir sezgisel kural ya da önceki bir model. Eğer çoğunluk sınıfı tahmini bu veride zaten %80 skorluyorsa, karmaşık model maliyetine rağmen neredeyse hiçbir şey katmamıştır. (b) yanlış bir iddiadır — karmaşık modellerin daha düşük skorlayacağının hiçbir garantisi yoktur. (c) yanlıştır: risk her ML problem tipi için geçerlidir. (d) eğitim maliyetini, skorun kendisinin iyi olup olmadığını bilmeme sorunuyla karıştırır.",{"id":88,"topic":9,"difficulty":44,"body":89,"options":90,"correct_key":57,"explanation":99},"019f6b80-b7de-7264-b7ed-c79735b71756","Bir sınıflandırma probleminde \"accuracy\" (doğruluk) metriği neyi ölçer?",[91,93,95,97],{"key":48,"text":92},"Pozitif tahmin edilenlerin gerçekten pozitif olma oranını",{"key":51,"text":94},"Gerçek pozitiflerin modelin başarıyla tespit ettiği oranını",{"key":54,"text":96},"Modelin pozitif örnekleri negatif örneklerin üzerinde sıralayabilme yeteneğini",{"key":57,"text":98},"Tüm tahminlerin (pozitif ve negatif) gerçek etiketle eşleşen oranını","Accuracy = (doğru tahminler) \u002F (toplam tahminler), her iki sınıfı da sayar. (a) precision'ı anlatır. (b) recall'u anlatır. (c) AUC-ROC'un arkasındaki sıralama fikrini anlatır, accuracy'yi değil. Accuracy her tahmini sınıftan bağımsız aynı şekilde ele alır — sınıflar dengesiz olduğunda yanıltıcı hale gelmesinin nedeni tam olarak budur.",{"id":101,"topic":9,"difficulty":75,"body":102,"options":103,"correct_key":51,"explanation":112},"019f6b80-b7de-780e-aceb-c5f5b60ee9a4","Sade bir dille, \"precision\" bir sınıflandırıcı için neyi cevaplar?",[104,106,108,110],{"key":48,"text":105},"Gerçekten pozitif olan tüm örneklerden model kaçını yakaladı?",{"key":51,"text":107},"Modelin pozitif olarak işaretlediği tüm örneklerden kaçı gerçekten pozitif?",{"key":54,"text":109},"Tüm olası karar eşiklerinde model iki sınıfı ne kadar iyi ayırıyor?",{"key":57,"text":111},"Toplamda, pozitif ve negatif birlikte, kaç tahmin doğruydu?","Precision = doğru pozitifler \u002F (doğru pozitifler + yanlış pozitifler): modelin pozitif dediği şeyler arasından ne kadarının doğru olduğu. (a) recall'u anlatır (gerçek pozitiflerin kapsanma oranı). (c) AUC-ROC gibi eşikten bağımsız bir sıralama ölçüsünü anlatır. (d) accuracy'yi anlatır. Precision özellikle bir pozitif alarm çaldığında ona güvenip güvenemeyeceğinizle ilgilidir.",{"id":114,"topic":9,"difficulty":75,"body":115,"options":116,"correct_key":54,"explanation":125},"019f6b80-b7de-7d34-9ff7-964b31ecd024","Sade bir dille, \"recall\" bir sınıflandırıcı için neyi cevaplar?",[117,119,121,123],{"key":48,"text":118},"Modelin pozitif olarak işaretlediği her şeyden ne kadarı gerçekten pozitifti?",{"key":51,"text":120},"Tahmin edilen sınıflar gerçek sınıf dağılımına göre ne kadar dengeli?",{"key":54,"text":122},"Gerçekten pozitif olan tüm örneklerden model kaçını gerçekten buldu?",{"key":57,"text":124},"Modelin tahminleri aynı girdi üzerinde tekrarlanan çalıştırmalarda ne kadar tutarlı?","Recall = doğru pozitifler \u002F (doğru pozitifler + yanlış negatifler): gerçekten pozitif olan her şeyden modelin ne kadarını yakalayabildiği. (a) precision'ı anlatır. (b) recall'un tanımıyla ilgisi olmayan bir sınıf-dengesi özelliğini anlatır. (d) çalıştırmadan çalıştırmaya kararlılığı anlatır, bu tamamen farklı bir konudur (recall değil, reprodüksiyon).",{"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},[10,318],"en",[320,321],"google","github",21750,true]