[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:ml-engineer\u002Fdeep-learning":4,"config":169},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":7,"topic_name":7,"spec_key":8,"spec_name":9,"locale":10,"cell_total":11,"field_total":12,"seniorities":13,"topics":17,"specs":79,"samples":84},"ml-engineer","ML Engineer","","deep-learning","Deep Learning","tr",450,1500,[14,15,16],"junior","mid","senior",[18,22,25,28,31,34,37,40,43,46,49,52,55,58,61,64,67,70,73,76],{"key":19,"name":20,"count":21},"cml-distance-clustering-dimreduction","Cml Distance Clustering Dimreduction",75,{"key":23,"name":24,"count":21},"cml-gradient-boosting-mechanics","Cml Gradient Boosting Mechanics",{"key":26,"name":27,"count":21},"cml-linear-logistic-internals","Cml Linear Logistic Internals",{"key":29,"name":30,"count":21},"cml-probabilistic-models-calibration","Cml Probabilistic Models Calibration",{"key":32,"name":33,"count":21},"cml-svm-kernels-margins","Cml Svm Kernels Margins",{"key":35,"name":36,"count":21},"cml-trees-randomforest-internals","Cml Trees Randomforest Internals",{"key":38,"name":39,"count":21},"dl-architecture-layers","Dl Architecture Layers",{"key":41,"name":42,"count":21},"dl-initialization-optimizers","Dl Initialization Optimizers",{"key":44,"name":45,"count":21},"dl-losses-output-layers","Dl Losses Output Layers",{"key":47,"name":48,"count":21},"dl-normalization-regularization","Dl Normalization Regularization",{"key":50,"name":51,"count":21},"dl-sequence-attention","Dl Sequence Attention",{"key":53,"name":54,"count":21},"dl-training-dynamics-backprop","Dl Training Dynamics Backprop",{"key":56,"name":57,"count":21},"ml-data-preparation","Ml Data Preparation",{"key":59,"name":60,"count":21},"ml-deployment-serving","Ml Deployment Serving",{"key":62,"name":63,"count":21},"ml-experimentation-reproducibility","Ml Experimentation Reproducibility",{"key":65,"name":66,"count":21},"ml-model-selection-tuning","Ml Model Selection Tuning",{"key":68,"name":69,"count":21},"ml-model-training-evaluation","Ml Model Training Evaluation",{"key":71,"name":72,"count":21},"ml-monitoring-drift","Ml Monitoring Drift",{"key":74,"name":75,"count":21},"ml-problem-framing","Ml Problem Framing",{"key":77,"name":78,"count":21},"ml-scaling-performance","Ml Scaling Performance",[80,83],{"key":81,"name":82,"count":11},"classical-ml","Classical ML",{"key":8,"name":9,"count":11},[85,103,117,130,143,156],{"id":86,"topic":39,"difficulty":87,"body":88,"options":89,"correct_key":97,"explanation":102},"01a0499c-f078-7212-a0e4-b40ababad884",1,"Bir convolution katmanı 3x3 boyutunda 16 filtre tutuyor, stride 1 ve padding 1 kullanıyor ve NCHW sırasında (1, 3, 32, 32) şeklinde bir batch tensörü alıyor. Çıktı ne olur?",[90,93,96,99],{"key":91,"text":92},"a","(1, 3, 32, 32), çünkü convolution değerleri yerinde yeniden yazar ama kaç kanal çıktığını hiç değiştirmez.",{"key":94,"text":95},"b","(1, 16, 30, 30), çünkü 3x3 pencere taradığı haritanın her kenarından bir piksel kırpar.",{"key":97,"text":98},"c","(1, 16, 32, 32), çünkü padding 1 pencereyi dengeler ve kanalı 16 filtre belirler.",{"key":100,"text":101},"d","(1, 16, 16, 16), çünkü her filtre üzerinde kaydığı uzamsal ızgarayı yarıya indirir.","Stride 1'de 3x3 pencere her uzamsal ekseni ikişer kısaltır, her kenardaki bir piksellik padding ise tam olarak bunu geri verir; dolayısıyla yükseklik ve genişlik değişmeden kalır. Çıkış kanal sayısını yalnızca katmanın kaç filtre tuttuğu belirler, batch ekseni ise dokunulmadan taşınır.",{"id":104,"topic":39,"difficulty":105,"body":106,"options":107,"correct_key":94,"explanation":116},"01a0499c-f0ce-714a-99f3-89ccdb2ee3f2",2,"Bir 3x3 convolution 3 giriş kanalını 16 çıkış kanalına eşliyor ve bias terimini koruyor. Katman kaç öğrenilebilir sayı saklar?",[108,110,112,114],{"key":91,"text":109},"432, çünkü 16 filtrenin her biri üç giriş kanalının tamamı için bir 3x3 yama taşır.",{"key":94,"text":111},"448, çünkü on altı adet 3x3x3 filtre katmanın bias vektörüyle birlikte saklanır.",{"key":97,"text":113},"160, çünkü tek bir 3x3 kernel bir kez öğrenilir ve üç giriş kanalında yeniden kullanılır.",{"key":100,"text":115},"480, çünkü her giriş-çıkış kanal eşleşmesi için ayrı bir bias saklanır.","Bir filtre giriş derinliğinin tamamını kapsar, yani 3*3*3 = 27 ağırlık tutar; on altı böyle filtre 432 eder ve yanlarında saklanan bias vektörü katmanı 448'e taşır. Kernel'i üç giriş kanalında paylaşılan tek bir 3x3 yama saymak sayıyı fena hâlde eksiltir, çünkü her filtre okuduğu her kanal için kendi yamasını öğrenir.",{"id":118,"topic":39,"difficulty":105,"body":119,"options":120,"correct_key":100,"explanation":129},"01a0499c-f0d0-7c5a-ae7e-555a874f3e02","4x4 bir feature map tek bir sıfırdan farklı yanıt tutuyor ve stride 2'li 2x2 max pooling ile indirgeniyor. Yanıt önce satır 0 sütun 0'dan satır 1 sütun 1'e, sonra satır 1 sütun 1'den satır 1 sütun 2'ye taşınıyor. Pooling'lenmiş 2x2 harita bu iki taşımada ne yapar?",[121,123,125,127],{"key":91,"text":122},"Her taşımada bir çıkış hücresi kayar, çünkü pooling'lenmiş harita yanıtın attığı her adımı izler.",{"key":94,"text":124},"İki taşımada da yerinde kalır, çünkü pencere üzerinden alınan bir özet yanıtın çerçevenin neresinde durduğunu kaydedemez.",{"key":97,"text":126},"İlk taşımada değişir, ikincisinde yerinde kalır, çünkü çapraz bir taşıma yandan bir taşımadan daha çok pencere geçer.",{"key":100,"text":128},"İlk taşımadan etkilenmez, ikincisinde bir hücre kayar, çünkü pencereden yalnızca ikinci taşıma çıkar.","Stride 2'li 2x2 pencere 0 ve 1 numaralı satırları 0 ve 1 numaralı sütunlarla birlikte kapsar; dolayısıyla bu bloğun içinde nerede olursa olsun yanıt aynı tek çıkış hücresine düşer. Sütun 2'ye taşınmak bloktan çıkıp komşu pencereye geçer ve pooling'lenmiş harita onunla birlikte kayar. Bir pooling adımının satın aldığı tolerans tam olarak budur: pencereden küçük bir kayma soğurulur, büyüğü aktarılır.",{"id":131,"topic":39,"difficulty":105,"body":132,"options":133,"correct_key":91,"explanation":142},"01a0499c-f0d2-70b8-9b6b-c66dc9a4333b","PyTorch 2.8'de padding'siz nn.Conv2d(1, 1, kernel_size=3, dilation=2) katmanı (1, 1, 32, 32) şeklindeki bir tensöre uygulanıyor. Çıkan uzamsal boyut nedir?",[134,136,138,140],{"key":91,"text":135},"28x28, çünkü dilation 3x3 tap'leri 5 genişliğinde bir açıklığa yayar.",{"key":94,"text":137},"30x30, çünkü dilation hangi piksellerin okunduğunu değiştirir, kaç pencere sığdığını değil.",{"key":97,"text":139},"16x16, çünkü 2 dilation her ikinci konumu örnekler ve haritayı yarılar.",{"key":100,"text":141},"32x32, çünkü genişletilmiş kernel haritayı korumak için içeride padding'lenir.","Dilation d, k boyutundaki bir kernel'i d*(k-1) + 1 etkin açıklığa çevirir; burada 2*2 + 1 = 5, yani katman şekil açısından 5x5 pencere gibi davranır ve 32 - 4 = 28 verir. Tap sayısı üç olarak kalır; ayak izi büyüdüğü hâlde parametre sayısının değişmemesinin nedeni budur.",{"id":144,"topic":39,"difficulty":105,"body":145,"options":146,"correct_key":97,"explanation":155},"01a0499c-f0d6-72f5-9643-e8820b0852e7","Varsayılan ayarlarla stride 2 kullanan bir 2x2 max pooling katmanı 7x7 feature map alıyor. Bir meslektaş ağdan bir satır ve bir sütun aktivasyonun kaybolduğunu bildiriyor. Çıktı boyutu nedir ve neden?",[147,149,151,153],{"key":91,"text":148},"4x4, çünkü pooling ızgarası hiçbir aktivasyon geride kalmasın diye yukarı yuvarlanır.",{"key":94,"text":150},"3x3, çünkü pooling daima tek merkez konumu tutar ve iki dış halkayı atar.",{"key":97,"text":152},"3x3, çünkü yalnızca üç tam 2x2 pencere sığar ve artan satır ile sütun düşer.",{"key":100,"text":154},"7x7, çünkü pooling her pencerenin içindeki değerleri azaltır, ızgarayı küçültmez.","Varsayılan kural bölmeyi aşağı yuvarlar; floor((7 - 2)\u002F2) + 1 = 3 pencere her eksende sığar ve yedinci satır ile sütun hiçbir zaman tam bir pencere oluşturamaz. O aktivasyonlar hiç okunmaz, kaybolmuş görünmelerinin nedeni budur; katmanı yukarı yuvarlamaya almak bunun yerine kısmi bir pencere ekler.",{"id":157,"topic":39,"difficulty":87,"body":158,"options":159,"correct_key":91,"explanation":168},"01a0499c-f0d8-7d6c-a99e-b113c2233e26","Bir blok (1, 512, 14, 14) aktivasyonunu alıp kernel'i tek bir konum eninde ve boyunda olan bir convolution'dan geçiriyor ve 128 çıkış kanalı üretiyor. Bloktan hangi şekil çıkar?",[160,162,164,166],{"key":91,"text":161},"(1, 128, 14, 14), çünkü böyle bir kernel tek seferde bir konuma dokunur ve yalnızca kanalları harmanlar.",{"key":94,"text":163},"(1, 128, 12, 12), çünkü bu kadar dar bir kernel bile dört kenarın her birinden bir sınır pikseli tüketir.",{"key":97,"text":165},"(1, 512, 14, 14), çünkü bu kadar küçük bir kernel tensörün derinliğini değiştiremez.",{"key":100,"text":167},"(1, 128, 1, 1), çünkü kernel her haritayı tek bir özet değere indirger.","Tam olarak tek bir uzamsal konumu kapsayan bir kernel'in üzerinde kayacağı bir açıklık ve tüketeceği bir sınır yoktur, dolayısıyla yükseklik ile genişlik dokunulmadan geçer. Çıkış derinliğini katmanın kaç filtre tuttuğu belirler ve bu düzenin değiştirebildiği tek eksen odur.",{"fields":170,"seniorities":392,"interview_shapes":393,"locales":398,"oauth":400,"question_count":403,"coach_enabled":404,"jd_match_enabled":404},[171,196,216,233,257,270,289,308,330,349,364,386],{"key":172,"name_tr":173,"name_en":173,"sort":87,"specializations":174},"backend","Backend",[175,178,181,184,187,190,193],{"key":176,"name":177,"field":172},"general","Genel",{"key":179,"name":180,"field":172},"go","Go",{"key":182,"name":183,"field":172},"python","Python",{"key":185,"name":186,"field":172},"java","Java",{"key":188,"name":189,"field":172},"csharp","C#\u002F.NET",{"key":191,"name":192,"field":172},"nodejs","Node.js",{"key":194,"name":195,"field":172},"php","PHP",{"key":197,"name_tr":198,"name_en":198,"sort":105,"specializations":199},"frontend","Frontend",[200,201,204,207,210,213],{"key":176,"name":177,"field":197},{"key":202,"name":203,"field":197},"javascript","JavaScript",{"key":205,"name":206,"field":197},"typescript","TypeScript",{"key":208,"name":209,"field":197},"react","React",{"key":211,"name":212,"field":197},"vue","Vue",{"key":214,"name":215,"field":197},"angular","Angular",{"key":217,"name_tr":218,"name_en":218,"sort":219,"specializations":220},"fullstack","Fullstack",3,[221,222,223,224,225,226,227,228,229,230,231,232],{"key":176,"name":177,"field":217},{"key":179,"name":180,"field":172},{"key":182,"name":183,"field":172},{"key":185,"name":186,"field":172},{"key":188,"name":189,"field":172},{"key":191,"name":192,"field":172},{"key":194,"name":195,"field":172},{"key":202,"name":203,"field":197},{"key":205,"name":206,"field":197},{"key":208,"name":209,"field":197},{"key":211,"name":212,"field":197},{"key":214,"name":215,"field":197},{"key":234,"name_tr":235,"name_en":235,"sort":236,"specializations":237},"devops-cloud","DevOps \u002F Cloud",4,[238,239,242,245,248,251,254],{"key":176,"name":177,"field":234},{"key":240,"name":241,"field":234},"aws","AWS",{"key":243,"name":244,"field":234},"gcp","GCP",{"key":246,"name":247,"field":234},"azure","Azure",{"key":249,"name":250,"field":234},"kubernetes","Kubernetes",{"key":252,"name":253,"field":234},"terraform","Terraform",{"key":255,"name":256,"field":234},"linux","Linux",{"key":258,"name_tr":259,"name_en":259,"sort":260,"specializations":261},"ai-engineer","AI Engineer",5,[262,263,264,267],{"key":176,"name":177,"field":258},{"key":182,"name":183,"field":258},{"key":265,"name":266,"field":258},"llm-rag","LLM\u002FRAG",{"key":268,"name":269,"field":258},"mlops","MLOps",{"key":271,"name_tr":272,"name_en":273,"sort":274,"specializations":275},"database","Veritabanı","Database",6,[276,277,280,283,286],{"key":176,"name":177,"field":271},{"key":278,"name":279,"field":271},"postgresql","PostgreSQL",{"key":281,"name":282,"field":271},"mysql","MySQL",{"key":284,"name":285,"field":271},"mongodb","MongoDB",{"key":287,"name":288,"field":271},"redis","Redis",{"key":290,"name_tr":291,"name_en":292,"sort":293,"specializations":294},"mobile","Mobil","Mobile",7,[295,296,299,302,305],{"key":176,"name":177,"field":290},{"key":297,"name":298,"field":290},"ios-swift","iOS (Swift)",{"key":300,"name":301,"field":290},"android-kotlin","Android (Kotlin)",{"key":303,"name":304,"field":290},"flutter","Flutter",{"key":306,"name":307,"field":290},"react-native","React Native",{"key":309,"name_tr":310,"name_en":311,"sort":312,"specializations":313},"security","Güvenlik","Security",8,[314,315,318,321,324,327],{"key":176,"name":177,"field":309},{"key":316,"name":317,"field":309},"appsec","AppSec",{"key":319,"name":320,"field":309},"offensive-pentest","Offensive \u002F Pentest",{"key":322,"name":323,"field":309},"cloud-security","Cloud Security",{"key":325,"name":326,"field":309},"devsecops","DevSecOps",{"key":328,"name":329,"field":309},"blue-team-incident","Blue Team \u002F Incident",{"key":331,"name_tr":332,"name_en":333,"sort":334,"specializations":335},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[336,337,340,343,346],{"key":176,"name":177,"field":331},{"key":338,"name":339,"field":331},"test-automation","Test Automation",{"key":341,"name":342,"field":331},"sdet","SDET",{"key":344,"name":345,"field":331},"performance-testing","Performance Testing",{"key":347,"name":348,"field":331},"mobile-qa","Mobile QA",{"key":350,"name_tr":351,"name_en":351,"sort":352,"specializations":353},"data-engineer","Data Engineer",10,[354,355,358,361],{"key":176,"name":177,"field":350},{"key":356,"name":357,"field":350},"pipelines-etl","Pipelines \u002F ETL",{"key":359,"name":360,"field":350},"streaming","Streaming",{"key":362,"name":363,"field":350},"warehousing","Warehousing",{"key":365,"name_tr":366,"name_en":367,"sort":368,"specializations":369},"game-dev","Oyun Geliştirme","Game Development",11,[370,371,374,377,380,383],{"key":176,"name":177,"field":365},{"key":372,"name":373,"field":365},"unity-csharp","Unity (C#)",{"key":375,"name":376,"field":365},"unreal-cpp","Unreal (C++)",{"key":378,"name":379,"field":365},"gameplay","Gameplay",{"key":381,"name":382,"field":365},"graphics-rendering","Graphics \u002F Rendering",{"key":384,"name":385,"field":365},"multiplayer-netcode","Multiplayer \u002F Netcode",{"key":5,"name_tr":6,"name_en":6,"sort":387,"specializations":388},12,[389,390,391],{"key":176,"name":177,"field":5},{"key":81,"name":82,"field":5},{"key":8,"name":9,"field":5},[14,15,16],{"junior":394,"mid":396,"senior":397},{"questions":395,"median_sec":3},20,{"questions":395,"median_sec":3},{"questions":395,"median_sec":3},[10,399],"en",[401,402],"google","github",28050,true]