Hocam gerçekten emeğinize sağlık. Videolarınıza gösterdiğiniz ilgi ve alaka gerçekten çok güzel. Kanal genelinde sayenizde edindiğim bilgiler, bana yeni bakış açıları sağlamakta. Umarım başarılarınız daim olur..
İlk seriyi ve bu seriyi izledim genel olarak gördüğüm yeni başlayan arkadaşlarda ki en büyük eksikliklerden birisi sorunu ele alıp analiz edip çözüm için kendilerine izin vermek yerine veya nasıl çözebileceğini ilk etapta düşünce olarak kurgulamak yerine direkt olarak kod yazmaya başlayıp bir çok detayı kaçırıyorlar. Ama işin temeli "sorgulamak, sorgulamak, sorgulamak" bu kısım kaçırılmamalı. Çözüm üretmek için ortadaki sorunun ne olduğunu iyice anlamanız demek gerekli tüm koşulları ve şartları yerine getirebilmeyi iyice görebilmeniz demek. Bir çözüm üretmek için eksik bilginiz olsa dahil bunu böyle yapmalıyız ama tam olarak nasıl yapacağımı bunu yapabilecek bilgim yok şuan da deyip en azından orada hem eksiğinizi tamamlayacağınız noktayı görür hem de karşı tarafa en azından çözüm üretmek için mantık yürütebiliyor fakat teorik bilgiye sahip değil izlenimi verirsiniz. Bu sizin için artı bir puan olabilir şirkete göre değişmek ile birlikte.
genel olarak alayli juniorlarin ortak problemi sanirim bu. gecen videoda da benzerdi durum. frameworkler microservice ler design patternlar havada ucusuyor konusurken, ama yazmaya gelince if, else, for yazacak 2 satiri yazamiyor. yazilim kesinlikle okul okunmasi zorunlu bir alan degil, ama okul okumadan yazilimci olanlarin acigi kapatmak icin bence cok calismasi lazim. cok kod yazmasi lazim. daha yazilimdaki en temel konulari oturtmadan framework ogreniyor insanlar. basit algoritma temelleri bile eksik kaliyor.
Bir bilgisayar mühendisi olarak çok teşekkür ederim 2. Sınıf öğrencisi olarak neye dikkat etmem gerektiğini neler öğrenmem gerektiğini öğrendim bu tür videoların devamını bekliyorum tekrar teşekkür ederim ❤️
Hocam, ben frontend yazıyorum ancak baştan sona izledim çok güzeldi öncelikle teşekkürler. Benim bir sorum olacaktı. 1:06:04 ‘da val2.PadLeft(val1.Length, “0”) şeklinde 0 eklemişsiniz ya, bunu eklerken val2.PadLeft(val1.Length - val2.Length, “0”) şeklinde eklememiz gerekmez miydi? Sanki yazdığınız şekilde olunca farklı uzunlukta sayı verince patlayacak gibi düşünüyorum. Dediğim gibi backend yazmıyorum haliyle C# bende yok. Metodun tahminimden farklı çalışma mantığı mı var onu da bilmediğim için soruyorum.
Benim kullandığım şekli doğru çalışıyor, sebebi de şöyle. PadLeft metoduna iki parametre gönderiyoruz. Bir tanesi toplam istediğimiz uzunluk, diğeri de o uzunluğa ulaşana kadar eklenecek olan karakter. Yani 5 verdiğimiz zaman 5 tane '0' eklemiyor, 5 karakter olana kadar '0' ekliyor. Aşağıda başka bir örneği mevcut. var val = "123".PadLeft(5, '0'); Console.WriteLine(val); // 00123
muhendıslık de alınan dersler algorıtma sayısal mantık becerı konusunda aşırı derecede geliştiriyor bu bir gerçek 5 alaylının yapmadığı algoritmayı bir muhendıs cok rahat yapabılıyor iş veren de bunun farkında o yuzden alaylıların cok fazla iş imkanı olmuyor
hocam emeğinize sağlık sizinde arkadaslarında cok yararlı oldu devamı gelirse güzel olur benim açımdan soru cevap oluyor tekrar etmiş veya yeni şeyler ogrenmıs oluyorum
Hocam ellerinize sağlık bir önceki mülakat videosunuda kaydetmiştim onu da izleyeceğim. Sorular biraz normalin altında gibi geldi bana siz sordukça bende kafamda hallettim güzel bir tekrarda oldu devamını bekliyoruz
yazılımla çok az alakam var tek python fln biliyorum 16 yaşındayım anlamasamda zevkle izledim hem bana da erken de olsa tecrübe oluyor teşekkür ederim.
Hocam serinin ilerleyen bölümlerinde eğer sektörde farklı alanlarda(data science/engineering, cloud, etl, ML gibi.) deneyimli kişiler ile de bir kaç video gelirse farklı alanlar ile ilgilenenler de yararlanabilir.
@Yasin Özmen ben java bilmediğim için java ile ilgili sorular hazırlayamam, derinlemesine hakim değilim yani. Ama küçük algoritma sorularını ben sorarım, siz istediğiniz dilde yazabilirsiniz. Java ile c# çok benzer zaten, o kadarını anlayabilirim yani
Data Engineering biraz daha Software Engineering tarafına yakın özellikle scaling ile ilgili sorular hazırlanabilir ancak ML tarafında mülakatı yapacak kişinin işe bağlı olarak alan uzmanlığı olması gerekir NLP, Derin Öğrenme-Görüntü İşleme vb. gibi
@@TechBuddyTR Veri tarafındaki interview'a talibim. Daha önce iş deneyimim hiç olmadı. 8 aylık bir bootcamp sürecini yeni bitirdim. Dilerseniz görüşebiliriz bu tarz bir içerik için ☺️
hocam 2 üzerinden örneği işlettiğinde doğru yaptığından emin misiniz? parametre olarak 2 verdiğimizde listeye 2'yi ekledikten sonra ilk if bloğunu atlayıp sayıyı bir azalttıktan sonra ikinci if bloğunun else bloğuna düşmesi ve -1 değerini döndürmesi ardından -1 değerini de listeye eklemesi gerekmez miydi? dizide [2,-1] değerlerini görmemiz gerekirdi diye düşünüyorum. Neden count--; ifadesini atlamasını doğru kabul ettiniz?
Bu tarz adayların sorunu okul okurken stajlarını doğru yerde yapamayıp yada okuluna gitmeyip tecrübelerinin az olması sakın kötü yorum olarak görmeyin yapıcı bir eleştiridir. Ayrıca kendi kendine geliştirmek isteyen arkadaşlar olursa kendinize ufak challenge projeler verip kendinizi geliştirin.
@@TechBuddyTR gerçek olmasa da izlerken gerçek bir mülakatmış gibi hissettiğim için burada kral sen oluyorsun abi :D Yalakalık değil de sevgi gösterisi diyelim :D
Cozum guzeldi, optimize etmek icin sunlar dusunulebilir: 1. Sayilar negatif olabilir, ilk karakterin '-' olmasi da dusunulmeli. Bu durumda, toplama yerine cikarma yapilmasi gerekiyor, sonucun da negatif olabilecegi dusunulmeli. 2. int.Parse yerine short.Parse yapilabilir.
merhaba, c# form uygulamasında, emgu cv kullanmak istiyorum, nesne tespiti ve nesne takibi yapmak istiyorum. asıl amacım bir video oyunu için nesne tespit ve takip yapmak ve tespit edilen nesnelere hitbox yapmak. , ayrıca oyundaki her bir objeye dair png görselleri mevcut. bu işlemleri nasıl yapabilirim? verebileceğiniz tüyolar varmı, henüz bu konuda
İLK SORUYU İSTEYENLER İÇİN: static List results = new List(); public static void Main() { var val = 10; var res = Calc(val); var min = results.Min(); var avg = results.Average(); var max = results.Max(); var sum = results.Sum(); Console.WriteLine("Min: {0}, Avg: {1}, Max: {2}, Sum: {3}, Res: {4}", min, avg, max, sum, res); } public static int Calc(int count = 50) { results.Add(count); if (count < 0) return -1; count--; if (count % 2 == 0) { count -= 2; return Calc(count); } else { return Calc(count - 2); } }
@@TechBuddyTR inşallah hocam daha Java dayım ama bı problemi çözemediğim bi yerde hata aldığım zaman uyuyamıyorum vallaha saat 4:46 ben hala çalışıyorum.
Kendi kendine ogrenmeye calisan biri olarak sorular bana cok kolay gorunuyor. Birkac sey ogrenmek istiyorum sorun olmazsa; - Sanirim adaylarin soruyu cozmesinden cok, nasil yaklastigini olcuyorsunuz. Sorulari cozemese bile, yaklasimlari istediginiz gibi olsa adaya olumlu donus yapmanizi saglar miydi? - Genel olarak entry-level / junior pozisyonlar icin teknik mulakatlar bu seviyede mi oluyor?
Adayın soruna nasıl yaklaştığı, nasıl bir yol izlediği çok önemli ancak tek kriter de değil. Eğer sizden bir kod parçası istenmişse kesinlikle iyi veya kötü çalışan, işini doğru yapan bir kod parçası sunmak da önemli. Bunun dışında, şirketin yaptığı işe göre değişmekle birlikte sorular bu seviyede veya biraz daha zor olabiliyor. Her mülakattan sonra discord kanalında soru-cevap yapıyoruz. Orada bu tarz soruların cevapları da paylaşılıyor.
iyi günler, bence başlangıç düzeyindeki bir yazılımcı için iki stringin toplanması sorusu çok doğru bir soru değil. orta düzey bir yazılımcıya sorulabilir. Başlangıç düzeyindeki programcı, çeşitli kodlar yazmış bu ve benzeri sorunları yaşamış olması sorunu ve çözümü hazmetmiş olması gerekir. Katılan arkadaşa biraz yazık olmuş. Video için teşekkürler.
Merhabalar, yıllar ile birlikte gelişse de buradaki asıl amaç bu tarz problemleri çözme konusundaki yeteneğini anlamaktı. Birçok mülakatta çok daha kompleks sorular soruluyor junior arkadaşlara. Bu sebeple ben bunun junior bir arkadaş için fazla olduğunu düşünmüyorum :)) Buradaki konu programlama bilgisi değildi yani en temelde. Değerli yorumunuz için teşekkür ederim
Bir dezavantajı yok elbette ama bu mülakatta bu soruyur sorma amacım kullanıcının bu sorunu biginteger kullanmadan küçük parçalar halinde çözmesini sağlamaya çalışmaktı.
Emeğinize sağlık, çok güzel bir içerik olmuş. 1.11.13 deki Convert.ToInt32 ile int.Parse arasında bir fark var mı sorusuna ithafen şunu belirtmek istedim, integera çevrilemeyen bir stringi int.Parse ile çevirmeye çalışırsanız exception alırsınız. Convert.ToInt32 integere çeviremediği değerler için default 0 döner. Bilginize :)
Yanlışınız var. Convert.ToInt32 ile int.Parse ın çok bir farkı yok. İkisi de exception fırlatır eğer sağladığımız değer integer değilse. Default value döndürmek gibi bir özelliği yok Convert.ToInt32 nin.
Abi Var komutunun kullanıldığı yerde büyük rakamların dönüştürme bölümünde '**' üssü kullansaydık giren değer string olsa dahi bize üslü geri cevap verse olmazmı.daha yeniyim fikrim bu yönde .cevabınızı bekliyorum.
Dotnet de, string bir değişkeni matematiksel işlemlere sokamıyoruz. Mutlaka bir dönüşüm lazım. Ayrıca üslü işlemler de kurtarmazdı bizi çünkü parametre olarak gönderdiğimiz sayı değişebilirdğ
Bu gerçek bir mülakat olmadığı için ortada bir iş de yok. Dolayısı ile ne için yeterli olup olmadığını bilemiyoruz ancak video uzamasın diye durdurup, Discord'daki yayında soru-cevap bölümü yapmştık. Oradaki arkadaşlardan bir tanesi de sormuştu aynı soruyu "sizce yeterli olur muydu" diye. Junior bir backend developer olsaydı doğrudan işe alırdım diyemem. Eksiklerin tamamlanması gerekiyor diye not düşmüştüm.
Tam tersi, val[i] - '0' a gerek yok. Over engineering olur burada. KISS'e de uymaz çünkü zaten '0' için bir dönüşüm yapacak c# bizim için. Yani arkada çalışan byte.Parse('0') gibi bir şey olacaktır ki ascii karşılığını yani 48 i bulsun. c# dili bizim için bazı şeyleri otomatik olarak yapıyor. bir string ve string olmayan iki değeri + operatörü ile yanyana getirirseniz, string olmayan objenin ToString() metodunu çağırması gibi. Aynı şekilde char'dan '0' ı çıkartınca da matematiksel olarak işlem yapabilmek için dönüşüm yapıyor arkada ancak buna gerek yok bu metod içinde. byte.Parse() int.Parse gibi metodlar işimizi görecektir.
@@TechBuddyTR tamam, problem değil. virgülden sonrasını DOĞRU, KAYIPSIZ bir şekilde tuttuğu sürece problem olmuyor. javayla yazdım ben, javada virgülden sonra kaç basamak tutuyor bilmiyorum ama bunu öğrenip ona göre birşeyler yazılabilir.
boşlukları doldur diyip neden string sorusunu beklemek garip. ben şahsen bu soruyu beklemem. ancak string içinde integer beklenirken alfanumeric gönderilmesini catch etmedisini beklerdim. ek olarak kodu olabildigincce açıklamalı ve kısaltmasız yazmasını isterdım
Bir yazılımcının içinde bulunduğ durumue en iyi şekilde anlaması ve analiz etmesi gerekmektedir. Eğer kendisine verilmeyen, kafasına oturmayan noktalar varsa mutlaka sorular sorarak bunları netleştirmelidir ki en efektif çözümü üretebilsin. O yüzden burada parametre'nin string olmasını doğrudan sormayabilirdi ama eğer metod içerisinde bir validasyon yapacak olsaydı burada detay sormak durumunda kalacaktı. Gelen değeri long türünde saklayabilir miyiz? gibi mesela. O yüzden neden string olduğu doğrudan sorulmasa bile dolaylı olarak sizi sonuca ulaştıracak bir soru olacaktı.
bence yazılım en üst sevıyesını gordu ve kuculmeye gıdecek yapay zeka pıyasanın buyuk çogunlugunu silinecek sadece kaliteli Bilgisiyar Muhendıslerı kalacak benım dusuncem
Ben böyle bir yöntemle hall ettim problemi, daha effektif bir yöntem vardır belki, ama bu yöntem bana daha rahat geldi. string Sum(string a = "1800000000000000000000000", string b = "23") { int alength = a.Length; int blength = b.Length; int funclength = alength>=blength?alength:blength; string result = ""; int partialResult = 0; string newa = a; string newb = b; int savedInt = 0; if(funclength > a.Length) { for(int i=1; i b.Length) { for (int i = 1; i = 0; i--) { partialResult = int.Parse(newa[i].ToString()) + int.Parse(newb[i].ToString()) + savedInt; if (partialResult > 9) { partialResult = partialResult - 10; savedInt = 1; result=partialResult.ToString() + result;
1. sınıf bilgisayar mühendisliği öğrencisiyim, sadece c dilini biliyorum bende yazmaya çalıştım ama biraz uzun oldu. aslında tek fonksiyonda yazmasam ve sayının negatif olup olmadığına göre len değerini ayarlasaydım kısa olurdu ama neyse. int stringSum(char* val1, char* val2) { int val1f=0, val2f=0, len=0; if (isdigit(val1[0])) { int sum, lev = 0; len = strlen(val1); for (int i = len; i != 0; i--) { int g = i; if (g == 1) { val1f += (val1[lev] - '0'); } if (g != 1) { int m = (val1[lev] - '0'); while (g != 1) { m = m * 10; g--; } val1f += m; } lev++; } } else { int sum, lev = 1; len = strlen(val1); len--; for (int i = len; i != 0; i--) { int g = i; if (g == 1) { val1f += (val1[lev] - '0'); } if (g != 1) { int m = (val1[lev] - '0'); while (g != 1) { m = m * 10; g--; } val1f += m; } lev++; } val1f = val1f * -1; } if (isdigit(val2[0])) { int sum, lev = 0; len = strlen(val2); for (int i = len; i != 0; i--) { int g = i; if (g == 1) { val2f += (val2[lev] - '0'); } if (g != 1) { int m = (val2[lev] - '0'); while (g != 1) { m = m * 10; g--; } val2f += m; } lev++; } } else { int sum, lev = 1; len = strlen(val2); len--; for (int i = len; i != 0; i--) { int g = i; if (g == 1) { val2f += (val2[lev] - '0'); } if (g != 1) { int m = (val2[lev] - '0'); while (g != 1) { m = m * 10; g--; } val2f += m; } lev++; } val2f = val2f * -1; } return val1f + val2f; }
Şimdi diceniz kendin öğrenceksin falan da derslere çalışmaktan üniversiteye hazırlanmaktan seviyemi ölçmeyi akıl bile edemedim ki olduğum yeri bile bilmiyordum bu video benim gözlerimi açtı
@@yunustechin Meslek lisemde gittiğim staj yerinde bayaa şeyler öğrendim. Ve bu videodaki birçok şeyi de orada öğrendim. Şu anda backend tarafında junior seviyesinde olduğumu söyleyebilirim. Üniversiteye gitmedim. Yeterince çalışabilecek kadar motivasyon ve disiplin sahibi olamadım maalesef :( Birçok iş başvurusu yaptım. LinkedIn'den yüzlerce ve telefonla arayıp sorduğum onlarca iş yerinden dönüş dahi alamadım. 42 Kocaeli adında üniversite tarzında eğitim veren biryere başvurdum ve Şubat gibi havuz eğitiminden geçersem işin sonunda sertifika almayı umut ediyorum. Üniversite kazandığına sevindim, umarım iyi yerlere gelirsin 07
Ben direk string düzeyinde şöyle leş gibi bir kod yazdım. Çalışıyor ama leş oldu kod :( public static string Sum(string val1, string val2) { var val1List = val1.ToCharArray().ToList(); var val2List = val2.ToCharArray().ToList(); val1List.Reverse(); val2List.Reverse(); if (val1List.Count > val2List.Count) { while (val1List.Count != val2List.Count) { val2List.Add('0'); } } else if (val1List.Count < val2List.Count) { while (val1List.Count != val2List.Count) { val1List.Add('0'); } } int passed = 0; string content = ""; List resList = new List(); for (int i = 0; i < val1List.Count; i++) { int sum = int.Parse(val1List[i].ToString()) + int.Parse(val2List[i].ToString()) + passed; passed = 0; if (sum >= 10) { passed = sum / 10; } resList.Add(char.Parse((sum % 10).ToString())); } if (passed > 0) { resList.Add(char.Parse(passed.ToString())); } resList.Reverse(); content = new string(resList.ToArray()); return content; } NOT: Convert yerine Parse kullanmamın sebebi Unity ile uğraşmam. Unity'de daha çok float ile çalışıyoruz. Convert içinde float yok :)
Bence middle için çok basit sorular olurdu bunlar. Junior arkadaşlar için kolay sayılabilecek sorular düzeyinde bunlar. Ayrıca bir çoğu programlama bilgidir gerektirmiyordu. Temel mantık ve algoritma çözümleri var içinde. Yani yazılım eğitimi almış herkesin yapabileceği konular :)
Bence soru junior, middle ve senior lara sorulabilir. Her birinden beklenen cevap farklı olacaktır. Zaman ve bellek karmaşıklığı hesaba katılarak yazılan kod değerlendirilebilir.
junior bile değilim, yazılımla ilgileneli 3 ay kadar oldu. ekran çıktısı sorusunda recursion olduğunu ilk görüşte anladım. tabii böyle bir durumda heyecan olduğunu varsayıyorum ben olsam ben de heyecanlanırdım. ama soruların zor olduğunu düşünmüyorum.
Siz okumadınız mı? Okulun faydasız olduğunu kanaat getirmek için biraz acele etmişsiniz gibime geldi biraz. Haksızlık ediyorsunuz eğitimin önemine bence
Merhaba hocam 34. dakikadaki soru için videoyu durdurdum ve soruyu kendim çözdüm. algoritmam şu şekilde, gelen 2 verinin basamak sayısına bakıyor, eşit değil ise az olanın başına 0 ekleyerek karakter sayısını eşitliyor iki değerin son karakterlerinden başlayarak topluyor çıktı tek basamak ise bunu bir dizinin ilk değeri olarak yazıyor çift basamak ise birler basamağını diziye yazıyor ve sonraki işlem için artı 1 ekliyor ve döngü bitene kadar tüm karakterlerde bu işlem devam ediyor. döngü bitince son işlem için 8+7 gibi artı 1 olacağı senaryoda, +1'i kontrol edip onuda diziye ekliyor. diziye eklenen veriler ters olduğu için, diziyi ters çeviriyor ve diziyi stringe dönüştürüp bitiyor. kodu python ile yazdım, farklı senaryolarda test ettim doğru çalışıyor, çıktı doğru ama sorun bu 45 satırlık kodu yazmam yaklaşık 45 dakika sürdü :) bu zaman sizce normal mi, mülakat için daha hızlı olması gerekiyor mu kodu aşağıya veriyorum github.com/atalhatabak/StringSum/blob/main/StringSum.py
6 ay once gene yorum yapmisim. bugun ceng 3. sinif ogrencisiyim ve bu kodun aynisini yazmis bulunmaktayim. alin size mulakat sorusunun cozumu. package org.example; import java.util.*; public class main2 { public static void main(String[] args) { String sayi1 = "999999333"; String sayi2 = "918891"; // Sayıları tersine çevirme String sayi1Reversed = reverse(sayi1); String sayi2Reversed = reverse(sayi2); // Toplama işlemi için yeni bir dizi oluşturma int maxLength = Math.max(sayi1Reversed.length(), sayi2Reversed.length()); int[] dizi = new int[maxLength + 1]; // Sayıları diziye ekleme ve taşmaları kontrol etme for (int i = 0; i < maxLength; i++) { int toplam = dizi[i]; if (i < sayi1Reversed.length()) { toplam += Integer.parseInt(String.valueOf(sayi1Reversed.charAt(i))); } if (i < sayi2Reversed.length()) { toplam += Integer.parseInt(String.valueOf(sayi2Reversed.charAt(i))); } if (toplam >= 10) { dizi[i + 1] += toplam / 10; toplam %= 10; } dizi[i] = toplam; } // Sonucu ekrana yazdırma System.out.print("Toplama Sonucu: "); boolean leadingZeros = true; for (int i = dizi.length - 1; i >= 0; i--) { if (leadingZeros && dizi[i] == 0) { continue; } leadingZeros = false; System.out.print(dizi[i]); } } // Stringi tersine çeviren metot public static String reverse(String input) { int length = input.length(); StringBuilder reversedString = new StringBuilder(length); for (int i = length - 1; i >= 0; i--) { reversedString.append(input.charAt(i)); } return reversedString.toString(); } }
Hocam gerçekten emeğinize sağlık. Videolarınıza gösterdiğiniz ilgi ve alaka gerçekten çok güzel. Kanal genelinde sayenizde edindiğim bilgiler, bana yeni bakış açıları sağlamakta. Umarım başarılarınız daim olur..
Çok teşekkür ederim. Umarım herkes için faydalı olur içerikler..
Tebrikler kardeşim. Yine gençlere ışık tutuyorsun. Kıymetli vaktini böylesi değerli bir amaca harcıyor olmani çok takdir ediyorum.
İlk seriyi ve bu seriyi izledim genel olarak gördüğüm yeni başlayan arkadaşlarda ki en büyük eksikliklerden birisi sorunu ele alıp analiz edip çözüm için kendilerine izin vermek yerine veya nasıl çözebileceğini ilk etapta düşünce olarak kurgulamak yerine direkt olarak kod yazmaya başlayıp bir çok detayı kaçırıyorlar. Ama işin temeli "sorgulamak, sorgulamak, sorgulamak" bu kısım kaçırılmamalı. Çözüm üretmek için ortadaki sorunun ne olduğunu iyice anlamanız demek gerekli tüm koşulları ve şartları yerine getirebilmeyi iyice görebilmeniz demek. Bir çözüm üretmek için eksik bilginiz olsa dahil bunu böyle yapmalıyız ama tam olarak nasıl yapacağımı bunu yapabilecek bilgim yok şuan da deyip en azından orada hem eksiğinizi tamamlayacağınız noktayı görür hem de karşı tarafa en azından çözüm üretmek için mantık yürütebiliyor fakat teorik bilgiye sahip değil izlenimi verirsiniz. Bu sizin için artı bir puan olabilir şirkete göre değişmek ile birlikte.
genel olarak alayli juniorlarin ortak problemi sanirim bu. gecen videoda da benzerdi durum. frameworkler microservice ler design patternlar havada ucusuyor konusurken, ama yazmaya gelince if, else, for yazacak 2 satiri yazamiyor. yazilim kesinlikle okul okunmasi zorunlu bir alan degil, ama okul okumadan yazilimci olanlarin acigi kapatmak icin bence cok calismasi lazim. cok kod yazmasi lazim. daha yazilimdaki en temel konulari oturtmadan framework ogreniyor insanlar. basit algoritma temelleri bile eksik kaliyor.
Bir bilgisayar mühendisi olarak çok teşekkür ederim 2. Sınıf öğrencisi olarak neye dikkat etmem gerektiğini neler öğrenmem gerektiğini öğrendim bu tür videoların devamını bekliyorum tekrar teşekkür ederim ❤️
Özellikle öğrencilerin de nelerle karşılaşabileceği konusunda da içerikler oluşturmaya başlayacağız yakında. Takipte kalın :)
hangi üni acaba
İnönü aga
Hocam, ben frontend yazıyorum ancak baştan sona izledim çok güzeldi öncelikle teşekkürler. Benim bir sorum olacaktı. 1:06:04 ‘da
val2.PadLeft(val1.Length, “0”)
şeklinde 0 eklemişsiniz ya, bunu eklerken
val2.PadLeft(val1.Length - val2.Length, “0”)
şeklinde eklememiz gerekmez miydi? Sanki yazdığınız şekilde olunca farklı uzunlukta sayı verince patlayacak gibi düşünüyorum. Dediğim gibi backend yazmıyorum haliyle C# bende yok. Metodun tahminimden farklı çalışma mantığı mı var onu da bilmediğim için soruyorum.
Benim kullandığım şekli doğru çalışıyor, sebebi de şöyle. PadLeft metoduna iki parametre gönderiyoruz. Bir tanesi toplam istediğimiz uzunluk, diğeri de o uzunluğa ulaşana kadar eklenecek olan karakter. Yani 5 verdiğimiz zaman 5 tane '0' eklemiyor, 5 karakter olana kadar '0' ekliyor. Aşağıda başka bir örneği mevcut.
var val = "123".PadLeft(5, '0');
Console.WriteLine(val); // 00123
@@TechBuddyTR tamamdır ben verdiğimiz uzunluk kadar ekleme yapıyor diye düşünmüştüm. Aradığım cevap oldu teşekkür ederim :)
son zamanlarda RUclips da izlediğim en keyifli videolardan biriydi 1 saat soluksuz izledim. Birgün bende katılmak isterim
Discord kanalımıza gelip başvuru yapabilirsiniz mülakat için :)
muhendıslık de alınan dersler algorıtma sayısal mantık becerı konusunda aşırı derecede geliştiriyor bu bir gerçek 5 alaylının yapmadığı algoritmayı bir muhendıs cok rahat yapabılıyor iş veren de bunun farkında o yuzden alaylıların cok fazla iş imkanı olmuyor
Okul ve alaylı öğren arasındaki fark edilebilir enbüyük fark bu zaten
Merhabalar Salih Bey, bu seri için teşekkür ederiz çok faydalı oluyor.
Devamını bekliyoruz.
hocam emeğinize sağlık sizinde arkadaslarında cok yararlı oldu devamı gelirse güzel olur benim açımdan soru cevap oluyor tekrar etmiş veya yeni şeyler ogrenmıs oluyorum
Güzel bir mülakat olmuş teşekkürler. Devamının gelmesini temenni ederim 😊
birisi size böyle bir interview yapıyorsa o şirkette çalışmayın arkadaşlar.
Bi çaylak olarak neden böyle düşündüğünüzü merak ettim
Bu nedir cidden ya
Sebep nedir?
Show yapmaktan başka birşey değil, yazılı sınav yapsın bari bu ne 😂
@@EtherealDreamyMusic-j5y Sorular aşırı basit ve konuşma havasında yapılmış bir mülakattı.
harika iş olmuş hocam, o stresi yaşattınız :)
ben herşeyi bilmeme rağmen hala gerçek mülakat diye düşünüyorum :S
Hocam ellerinize sağlık bir önceki mülakat videosunuda kaydetmiştim onu da izleyeceğim. Sorular biraz normalin altında gibi geldi bana siz sordukça bende kafamda hallettim güzel bir tekrarda oldu devamını bekliyoruz
Teşekkürler. Devamı haftaya :)
bu iki string sorusu acayip uzatılmış. girişe göre try catch ile fortmatexpection çevrilebilirdir :)
yazılımla çok az alakam var tek python fln biliyorum 16 yaşındayım anlamasamda zevkle izledim hem bana da erken de olsa tecrübe oluyor teşekkür ederim.
Bugün keşfettim gerçekten çok faydalı bir seri olmuş umarım devamı gelir. Belki ben de şansımı deneyebilirim 🙃
Hocam serinin ilerleyen bölümlerinde eğer sektörde farklı alanlarda(data science/engineering, cloud, etl, ML gibi.) deneyimli kişiler ile de bir kaç video gelirse farklı alanlar ile ilgilenenler de yararlanabilir.
Veri tarafından katılmak isteyen arkadaşlarla da birer mülakat gerçekleştirebiliriz ama bunun için talep de olması gerekir tabi :)
@Yasin Özmen ben java bilmediğim için java ile ilgili sorular hazırlayamam, derinlemesine hakim değilim yani. Ama küçük algoritma sorularını ben sorarım, siz istediğiniz dilde yazabilirsiniz. Java ile c# çok benzer zaten, o kadarını anlayabilirim yani
Data Engineering biraz daha Software Engineering tarafına yakın özellikle scaling ile ilgili sorular hazırlanabilir ancak ML tarafında mülakatı yapacak kişinin işe bağlı olarak alan uzmanlığı olması gerekir NLP, Derin Öğrenme-Görüntü İşleme vb. gibi
@@TechBuddyTR Veri tarafındaki interview'a talibim. Daha önce iş deneyimim hiç olmadı. 8 aylık bir bootcamp sürecini yeni bitirdim. Dilerseniz görüşebiliriz bu tarz bir içerik için ☺️
@@MrCantyousea Discord sunucumuza bekleriz :)
Bu seri çok güzel lütfen devam edin. Teşekkürler.
hocam 2 üzerinden örneği işlettiğinde doğru yaptığından emin misiniz? parametre olarak 2 verdiğimizde listeye 2'yi ekledikten sonra ilk if bloğunu atlayıp sayıyı bir azalttıktan sonra ikinci if bloğunun else bloğuna düşmesi ve -1 değerini döndürmesi ardından -1 değerini de listeye eklemesi gerekmez miydi? dizide [2,-1] değerlerini görmemiz gerekirdi diye düşünüyorum. Neden count--; ifadesini atlamasını doğru kabul ettiniz?
2 üzerinden yaptığı durum yanlış senin dediğin gibi oluyor
Bu tarz adayların sorunu okul okurken stajlarını doğru yerde yapamayıp yada okuluna gitmeyip tecrübelerinin az olması sakın kötü yorum olarak görmeyin yapıcı bir eleştiridir.
Ayrıca kendi kendine geliştirmek isteyen arkadaşlar olursa kendinize ufak challenge projeler verip kendinizi geliştirin.
Güzel bir video olmuş yakında mezun oluyorum :D ve verdiğiniz fikirler değerli sağolun
Kod yazarken arkada açıyorum, dinliyorum, arada ekrana bakıyorum naptı kodda diye,güzel ve eğlenceli bir yayın ,tebrikler.
Bir işe girebilmek için hangi kodlama dillerini bilmem gerekir
@@somba8934 hangi pozisyona gireceksen onun gerekliliklerini öğrenmek gerekir.
@@sahankurt bu videodaki hangi pozisyon
Güzel bir video serisi. Lütfen devamı gelsin.
mülakat yaparken de izleyenlere kısa bir eğitim veren adama kral denir :D
Bana ne deniyor bu durumda? 😅
@@TechBuddyTR gerçek olmasa da izlerken gerçek bir mülakatmış gibi hissettiğim için burada kral sen oluyorsun abi :D Yalakalık değil de sevgi gösterisi diyelim :D
1:12:40 gayet yerinde hocam video emeğinize sağlık :)
Kendimi hızlı bi test etmiş oldum. Elinize sağlık ve başarılar ;)
Cozum guzeldi, optimize etmek icin sunlar dusunulebilir:
1. Sayilar negatif olabilir, ilk karakterin '-' olmasi da dusunulmeli. Bu durumda, toplama yerine cikarma yapilmasi gerekiyor, sonucun da negatif olabilecegi dusunulmeli.
2. int.Parse yerine short.Parse yapilabilir.
Buradan Alper hocama sevgilerimi iletiyorum baya zor sorardı bizde kudururduk adam bildiğin mülakat soruları soruyormuş sınavda
merhaba, c# form uygulamasında, emgu cv kullanmak istiyorum, nesne tespiti ve nesne takibi yapmak istiyorum. asıl amacım bir video oyunu için nesne tespit ve takip yapmak ve tespit edilen nesnelere hitbox yapmak. , ayrıca oyundaki her bir objeye dair png görselleri mevcut. bu işlemleri nasıl yapabilirim? verebileceğiniz tüyolar varmı, henüz bu konuda
Kolaya kaçmak da olsa gerçek hayatta Big integer kullanılacak. Daha güzel bir soru seçilebilirmiş.
gerçekten bir şirket için mi alım yapılıyor? yoksa mülakat simülasyonu gibi mi ilerliyor işler ?
Sadece simülasyon
Geçen bölümü zevkle izledim. İyi ki devam ediyor seri.
İLK SORUYU İSTEYENLER İÇİN:
static List results = new List();
public static void Main()
{
var val = 10;
var res = Calc(val);
var min = results.Min();
var avg = results.Average();
var max = results.Max();
var sum = results.Sum();
Console.WriteLine("Min: {0}, Avg: {1}, Max: {2}, Sum: {3}, Res: {4}", min, avg, max, sum, res);
}
public static int Calc(int count = 50)
{
results.Add(count);
if (count < 0)
return -1;
count--;
if (count % 2 == 0)
{
count -= 2;
return Calc(count);
}
else
{
return Calc(count - 2);
}
}
Böyle bir içerik için teşekkür ederim keyifle izledim.
Teşekkürler. Umarım daha da keyif alarak izleyebileceğiniz içerikler üretebiliriz.
Videoyu durdurup ben de çözeyim dedim ;
private static string Sum(string value1, string value2)
{
int maxlength = Math.Max(value1.Length, value2.Length);
value1 = value1.PadLeft(maxlength, '0');
value2 = value2.PadLeft(maxlength, '0');
int Leaf = 0;
string result = "";
for (int i = maxlength - 1; i > -1; i--)
{
int val1 = 0;
int val2 = 0;
Int32.TryParse(value1[i].ToString(), out val1);
Int32.TryParse(value2[i].ToString(), out val2);
int sum = val1 + val2 + Leaf;
if (sum > 9)
{
Leaf = 1;
sum = sum - 10;
}
else
{
Leaf = 0;
}
result = sum.ToString() + result;
}
if (Leaf == 1)
result = "1" + result;
return result;
}
bir gün bu yazılımı öğrenmeyi bitirip bu yayına çıkacağım inş
Her zaman bekleriz :)
@@TechBuddyTR inşallah hocam daha Java dayım ama bı problemi çözemediğim bi yerde hata aldığım zaman uyuyamıyorum vallaha saat 4:46 ben hala çalışıyorum.
Yazılımı öğrenmek bitebilen bir şey değil :)
çok yararlı bir interview olmuş. teşekkürler.
Kendi kendine ogrenmeye calisan biri olarak sorular bana cok kolay gorunuyor. Birkac sey ogrenmek istiyorum sorun olmazsa;
- Sanirim adaylarin soruyu cozmesinden cok, nasil yaklastigini olcuyorsunuz. Sorulari cozemese bile, yaklasimlari istediginiz gibi olsa adaya olumlu donus yapmanizi saglar miydi?
- Genel olarak entry-level / junior pozisyonlar icin teknik mulakatlar bu seviyede mi oluyor?
Adayın soruna nasıl yaklaştığı, nasıl bir yol izlediği çok önemli ancak tek kriter de değil. Eğer sizden bir kod parçası istenmişse kesinlikle iyi veya kötü çalışan, işini doğru yapan bir kod parçası sunmak da önemli.
Bunun dışında, şirketin yaptığı işe göre değişmekle birlikte sorular bu seviyede veya biraz daha zor olabiliyor.
Her mülakattan sonra discord kanalında soru-cevap yapıyoruz. Orada bu tarz soruların cevapları da paylaşılıyor.
iyi günler, bence başlangıç düzeyindeki bir yazılımcı için iki stringin toplanması sorusu çok doğru bir soru değil. orta düzey bir yazılımcıya sorulabilir. Başlangıç düzeyindeki programcı, çeşitli kodlar yazmış bu ve benzeri sorunları yaşamış olması sorunu ve çözümü hazmetmiş olması gerekir. Katılan arkadaşa biraz yazık olmuş. Video için teşekkürler.
Merhabalar, yıllar ile birlikte gelişse de buradaki asıl amaç bu tarz problemleri çözme konusundaki yeteneğini anlamaktı. Birçok mülakatta çok daha kompleks sorular soruluyor junior arkadaşlara. Bu sebeple ben bunun junior bir arkadaş için fazla olduğunu düşünmüyorum :))
Buradaki konu programlama bilgisi değildi yani en temelde.
Değerli yorumunuz için teşekkür ederim
başlangıç mı 3 yıl mı başlangıç
ekran çıktısı sorusunda int count = 50 olmasının mantığı nedir anlayamadım
O default parametre değeri. Parametre gönderilmezse bu değer set ediliyor.
BigInteger kullanmanın bir dezavantajı var mı? Eğer sorun olmayacaksa şu şekilde yazılabilir:
string? Sum(string value1, string value2)
{
try
{
BigInteger bigInteger = BigInteger.Parse(value1);
BigInteger bigInteger1 = BigInteger.Parse(value2);
return BigInteger.Add(bigInteger, bigInteger1).ToString();
}
catch (System.FormatException)
{
return null;
}
}
Bir dezavantajı yok elbette ama bu mülakatta bu soruyur sorma amacım kullanıcının bu sorunu biginteger kullanmadan küçük parçalar halinde çözmesini sağlamaya çalışmaktı.
@@TechBuddyTR hocam haklısınız. Böyle şeyleri yapmaya çalışmak iyi bir düşünme antrenmanı oluyor.
Emeğinize sağlık, çok güzel bir içerik olmuş. 1.11.13 deki Convert.ToInt32 ile int.Parse arasında bir fark var mı sorusuna ithafen şunu belirtmek istedim, integera çevrilemeyen bir stringi int.Parse ile çevirmeye çalışırsanız exception alırsınız. Convert.ToInt32 integere çeviremediği değerler için default 0 döner. Bilginize :)
Yanlışınız var. Convert.ToInt32 ile int.Parse ın çok bir farkı yok. İkisi de exception fırlatır eğer sağladığımız değer integer değilse. Default value döndürmek gibi bir özelliği yok Convert.ToInt32 nin.
Kesinlikle devami gelmeli hocam.
Abi Var komutunun kullanıldığı yerde büyük rakamların dönüştürme bölümünde '**' üssü kullansaydık giren değer string olsa dahi bize üslü geri cevap verse olmazmı.daha yeniyim fikrim bu yönde .cevabınızı bekliyorum.
Dotnet de, string bir değişkeni matematiksel işlemlere sokamıyoruz. Mutlaka bir dönüşüm lazım. Ayrıca üslü işlemler de kurtarmazdı bizi çünkü parametre olarak gönderdiğimiz sayı değişebilirdğ
allaha şükür kimse bizi önüne çekip mülakat adı altında sorguya çekmedi
hocam calc () metodundaki parametre olarak verilen 50 nin sebebi nedir, default olarak atanmış olması dışında bir işlevi var mıdır
Default dışında bir işlevi yok :)
@@TechBuddyTR teşekkür ederim
Flutter junior versiyonu gelsin lütfen!
Peki bu cevapların yeterliliği hakkında bir yorum yok mu ? Bu arkadaş bir junior olarak yeterli mi?
Bu gerçek bir mülakat olmadığı için ortada bir iş de yok. Dolayısı ile ne için yeterli olup olmadığını bilemiyoruz ancak video uzamasın diye durdurup, Discord'daki yayında soru-cevap bölümü yapmştık. Oradaki arkadaşlardan bir tanesi de sormuştu aynı soruyu "sizce yeterli olur muydu" diye. Junior bir backend developer olsaydı doğrudan işe alırdım diyemem. Eksiklerin tamamlanması gerekiyor diye not düşmüştüm.
Teşekkür ederim cevabınız için.
1:11:25 - int.Parse metoduna gerek yok spesifik olarak 0-9 arasında sayılar için val[i] - '0' işi görücek küçük bir trick.
Tam tersi, val[i] - '0' a gerek yok. Over engineering olur burada. KISS'e de uymaz çünkü zaten '0' için bir dönüşüm yapacak c# bizim için. Yani arkada çalışan byte.Parse('0') gibi bir şey olacaktır ki ascii karşılığını yani 48 i bulsun. c# dili bizim için bazı şeyleri otomatik olarak yapıyor. bir string ve string olmayan iki değeri + operatörü ile yanyana getirirseniz, string olmayan objenin ToString() metodunu çağırması gibi. Aynı şekilde char'dan '0' ı çıkartınca da matematiksel olarak işlem yapabilmek için dönüşüm yapıyor arkada ancak buna gerek yok bu metod içinde. byte.Parse() int.Parse gibi metodlar işimizi görecektir.
son soru için bool Int64.tryparse(x, out) kullansaydık nasıl olurdu?
Ya long un kapsadığından daha büyük bir sayı gönderseydim?
@@TechBuddyTR BigInteger tüm sorunu çözerdi
@@caitez Evet ama bizim amacımız mülakattaki arkadaşın bu tarz yapılar kurup kuramayacağını öğrenmekti :)
ben c# bilmiyorum yine yaptım soruyu dalga mı geçiyor
bravo kardeşim tebrikler herkes senin bildiğini yaptığını yapabilmek zorunda değil , dalga geçmiş olmuyor
Yeni mülakat simülasyonlarına katılmak için neden başvuru yapabilirim?
Videonun altındaki linkten discord sunucusuna gelip, moderatörlerle veya benimle iletişim kurabilirseniz yardımcı olabiliriz
@@TechBuddyTR ilginiz için teşekkür ederim
İlk soruda neden -2'yi de listeye eklemedik anlayamadım hocam
ekledik -2 yi de listeye
@@TechBuddyTR Teşekkürler hocam görememişim
kod sorusundaki olması gereken cevaplarda sum nasıl 20 oldu 10 8 6 4 2 0 -2 ile 28 olması gerekmiyor mu c# bilmiyorum yanlışsa kızmayın :(
Kaynak kodu incelerseniz 10,8,6 diye gitmiyor sayılar. Arada count--; satırı var :)
@@TechBuddyTR aa evet count -- condition içinde değilmiş elendim :)
@@TechBuddyTR hocam tamamda arkadaş 2 için ele aldığında doğru yazdınız nasıl doğru oluyor hala anlamıyorum.
Front end gibi farklı alanların da mülakat simülasyonlarını yapabilir misiniz
Mülakatta aday olmak isteyen arkadaşlarımız olursa, bilgim doğrultusunda yapmaya çalışırım tabi ki.
@@TechBuddyTR Teşekkürler :)
@@TechBuddyTR Merhaba, front-end react.js ile ilgili aday olmak isterim :)
toplama sorusuna farkli bir bakis acisi:
String Ssayi1 = "1000000000000000000000000000"; //27 tane 0
String Ssayi2 = "1000000000000000000000000000"; //27 tane 0 daha
double sayi2 = Double.parseDouble(Ssayi2);
double sayi1 = Double.parseDouble(Ssayi1);
sayi2 = sayi2/1000000000; //9 tane 0 var hepsinde
sayi2 = sayi2/1000000000; // yani 9 9 9 dan 27 tane 0 gidicek.
sayi2 = sayi2/1000000000; // bastaki islemleri toplayacagiz, onun haricinde de
sayi1 = sayi1/1000000000; // virgulden sonra kac tane basamak tutulabiliyorsa o kadar 0 konup carpma sayisi artirilabilir.
sayi1 = sayi1/1000000000;
sayi1 = sayi1/1000000000;
System.out.println((sayi1+sayi2)*1000000000*1000000000*1000000000);
Parametrelerimizin değerleri değişebilir. Sonu sıfır olmaya da bilir yani.
Mesela; 1618192627181991191861718191918171718191 gibi
@@TechBuddyTR tamam, problem değil. virgülden sonrasını DOĞRU, KAYIPSIZ bir şekilde tuttuğu sürece problem olmuyor. javayla yazdım ben, javada virgülden sonra kaç basamak tutuyor bilmiyorum ama bunu öğrenip ona göre birşeyler yazılabilir.
yeni video ne zaman hocam
Bu hafta bir tane daha yapacağız kısmetse
boşlukları doldur diyip neden string sorusunu beklemek garip. ben şahsen bu soruyu beklemem. ancak string içinde integer beklenirken alfanumeric gönderilmesini catch etmedisini beklerdim. ek olarak kodu olabildigincce açıklamalı ve kısaltmasız yazmasını isterdım
Bir yazılımcının içinde bulunduğ durumue en iyi şekilde anlaması ve analiz etmesi gerekmektedir. Eğer kendisine verilmeyen, kafasına oturmayan noktalar varsa mutlaka sorular sorarak bunları netleştirmelidir ki en efektif çözümü üretebilsin.
O yüzden burada parametre'nin string olmasını doğrudan sormayabilirdi ama eğer metod içerisinde bir validasyon yapacak olsaydı burada detay sormak durumunda kalacaktı. Gelen değeri long türünde saklayabilir miyiz? gibi mesela.
O yüzden neden string olduğu doğrudan sorulmasa bile dolaylı olarak sizi sonuca ulaştıracak bir soru olacaktı.
Çok faydalı oluyor teşekkürler
Teşekkürler
çok yararlı bir video oldu
bence yazılım en üst sevıyesını gordu ve kuculmeye gıdecek yapay zeka pıyasanın buyuk çogunlugunu silinecek sadece kaliteli Bilgisiyar Muhendıslerı kalacak benım dusuncem
her işte olduğu gibi
elde varlar gümbür gümbür gelemez mi ?- --------------------Ali NESİN o7 --------------------Emeğinize Sağlık hocam o7
Buyuk rakamlarsa yaziya cevirir okuturdum desene 😂😂😂😂
aynı mülakata girdim algoritmayı doğru söyledim cevabı yanlış verdim :D kafayı yicem
Gidiş yoluna da puan veriyoruz :D
Ben böyle bir yöntemle hall ettim problemi, daha effektif bir yöntem vardır belki, ama bu yöntem bana daha rahat geldi.
string Sum(string a = "1800000000000000000000000", string b = "23")
{
int alength = a.Length;
int blength = b.Length;
int funclength = alength>=blength?alength:blength;
string result = "";
int partialResult = 0;
string newa = a;
string newb = b;
int savedInt = 0;
if(funclength > a.Length)
{
for(int i=1; i b.Length)
{
for (int i = 1; i = 0; i--)
{
partialResult = int.Parse(newa[i].ToString()) + int.Parse(newb[i].ToString()) + savedInt;
if (partialResult > 9)
{
partialResult = partialResult - 10;
savedInt = 1;
result=partialResult.ToString() + result;
}
else
{
result = partialResult.ToString() + result;
}
}
return result;
}
ağzına sağlık abi..mid için de mulakat olabilirse sevinirim.
Aday bulabilirsek tabi ki :)
@@TechBuddyTR Nasıl aday oluyoruz
Gerçekten de yapılan mülakatlar bu seviyede mi oluyor acaba?
Şirkete veya adaydan beklentiye göre değişiyor ama junior mülakatları aşağı yukarı bu seviyede oluyor.
Merhaba, bir java developer olarak bu tür bir mülakata girip kendimi test etmek isterim.
Discord sunucumuza gelip başvuru yapabilirsiniz.
Bizim için en faydalı video benve
Thread - çok basit demesemiydik)
Her yerde soruluyor, karşımıza çıkıyor ve cevaplanıyor anlamınds kolaydı :)
Yazılım okumadım sizce yanlış mı yaptım okuyan birisi söylebilir mi
çok güzel video
şu şurada dursun 10,7,4,1,-2 ve return -1
Tamam :)
Mülakat Şavaşları 3 olmasını temenni ederim.
bu kadar basit
class Program
{
static void Main()
{
Console.Write("Birinci sayıyı girin: ");
string val1 = Console.ReadLine();
Console.Write("İkinci sayıyı girin: ");
string val2 = Console.ReadLine();
string result = Sum(val1, val2);
Console.WriteLine("Toplam: " + result);
}
static string Sum(string val1, string val2)
{
BigInteger firstVal = BigInteger.Parse(val1);
BigInteger secondVal = BigInteger.Parse(val2);
return (firstVal + secondVal).ToString();
}
}
Ben try catch alır geri gönderirdim."geçersiz sayı " diye :)
1. sınıf bilgisayar mühendisliği öğrencisiyim, sadece c dilini biliyorum bende yazmaya çalıştım ama biraz uzun oldu. aslında tek fonksiyonda yazmasam ve sayının negatif olup olmadığına göre len değerini ayarlasaydım kısa olurdu ama neyse.
int stringSum(char* val1, char* val2) {
int val1f=0, val2f=0, len=0;
if (isdigit(val1[0])) {
int sum, lev = 0;
len = strlen(val1);
for (int i = len; i != 0; i--) {
int g = i;
if (g == 1) {
val1f += (val1[lev] - '0');
}
if (g != 1) {
int m = (val1[lev] - '0');
while (g != 1) {
m = m * 10;
g--;
}
val1f += m;
}
lev++;
}
}
else {
int sum, lev = 1;
len = strlen(val1);
len--;
for (int i = len; i != 0; i--) {
int g = i;
if (g == 1) {
val1f += (val1[lev] - '0');
}
if (g != 1) {
int m = (val1[lev] - '0');
while (g != 1) {
m = m * 10;
g--;
}
val1f += m;
}
lev++;
}
val1f = val1f * -1;
}
if (isdigit(val2[0])) {
int sum, lev = 0;
len = strlen(val2);
for (int i = len; i != 0; i--) {
int g = i;
if (g == 1) {
val2f += (val2[lev] - '0');
}
if (g != 1) {
int m = (val2[lev] - '0');
while (g != 1) {
m = m * 10;
g--;
}
val2f += m;
}
lev++;
}
}
else {
int sum, lev = 1;
len = strlen(val2);
len--;
for (int i = len; i != 0; i--) {
int g = i;
if (g == 1) {
val2f += (val2[lev] - '0');
}
if (g != 1) {
int m = (val2[lev] - '0');
while (g != 1) {
m = m * 10;
g--;
}
val2f += m;
}
lev++;
}
val2f = val2f * -1;
}
return val1f + val2f;
}
Hocam bir ara dc linkini de yenileseniz fena olmaz :)
Discord linki çalışıyor durumda şu an. Bir sorun mu yaşadınız?
@@TechBuddyTR katılamadım hocam sunucuya
@@burkkrc7071 bir sorun bulamadım ama şunu deneyebilir misiniz?
discord.gg/xnUTZNpVaF
Mobil uygulamadan katıldı hocam sanırım bendeki desktop appde problem var gece gece rahatsızlık verdim kusura bakmayın :)
@@burkkrc7071 estağfurullah, hoşgeldin
Iyi günler gönüllü olarak çıkabilir miyiz
Discord sunucumuza bekleriz
Gelen 2 stringi 2 tane char dizisi acip elemanlarini oraya atdak ve diziler üzerinde islem yapsak olmazmiydi
o da olurdu ama zaten string dediğimiz şey bir char array. bir daha yeni bir array oluşturmaya gerek var mı?
@@TechBuddyTR aaa doğru
Teşekkürler..
200 bin maaşla işe başlatıyorlar sanırım bu kadar zımbırtı nedir arkadaş junior eleman alıyolar adamı darlayıp zorluyorlar😂😂
neresi için yazılımcı mülakat simülasyonu bu hocam, tekel bayi için falan mı
Bu sonuca nasıl vardığınızı sorabilir miyim?
direk kod mu? direkt kod olmasın o :)
Direkt bence de :)
4 sene meslek lisesinde yazılım öğreniyorum bize bu zıkkımları bile öğretememişler mk bende bişeyler biliyom zannediyom
Şimdi diceniz kendin öğrenceksin falan da derslere çalışmaktan üniversiteye hazırlanmaktan seviyemi ölçmeyi akıl bile edemedim ki olduğum yeri bile bilmiyordum bu video benim gözlerimi açtı
aga sen ne yaptın bende meslek lisesi mezunuyum marmara bilgisayar mühendisliği kazandım harbi meslek lisesinde hiçbişey öğrenmemişiz resmen
@@yunustechin Meslek lisemde gittiğim staj yerinde bayaa şeyler öğrendim. Ve bu videodaki birçok şeyi de orada öğrendim. Şu anda backend tarafında junior seviyesinde olduğumu söyleyebilirim. Üniversiteye gitmedim. Yeterince çalışabilecek kadar motivasyon ve disiplin sahibi olamadım maalesef :( Birçok iş başvurusu yaptım. LinkedIn'den yüzlerce ve telefonla arayıp sorduğum onlarca iş yerinden dönüş dahi alamadım. 42 Kocaeli adında üniversite tarzında eğitim veren biryere başvurdum ve Şubat gibi havuz eğitiminden geçersem işin sonunda sertifika almayı umut ediyorum. Üniversite kazandığına sevindim, umarım iyi yerlere gelirsin 07
@@KARWALOR saolasın dostum umarım senin hakkınada hayırlısı olur,maalesef işverenler salak bir diplomaya bakıyor iş yetkinliği kimsenin umrunda değil umarım sen bu algıyı kırar hakettiğin pozisyona gelirsin O7
Ben direk string düzeyinde şöyle leş gibi bir kod yazdım. Çalışıyor ama leş oldu kod :(
public static string Sum(string val1, string val2)
{
var val1List = val1.ToCharArray().ToList();
var val2List = val2.ToCharArray().ToList();
val1List.Reverse();
val2List.Reverse();
if (val1List.Count > val2List.Count)
{
while (val1List.Count != val2List.Count)
{
val2List.Add('0');
}
}
else if (val1List.Count < val2List.Count)
{
while (val1List.Count != val2List.Count)
{
val1List.Add('0');
}
}
int passed = 0;
string content = "";
List resList = new List();
for (int i = 0; i < val1List.Count; i++)
{
int sum = int.Parse(val1List[i].ToString()) + int.Parse(val2List[i].ToString()) + passed;
passed = 0;
if (sum >= 10)
{
passed = sum / 10;
}
resList.Add(char.Parse((sum % 10).ToString()));
}
if (passed > 0)
{
resList.Add(char.Parse(passed.ToString()));
}
resList.Reverse();
content = new string(resList.ToArray());
return content;
}
NOT: Convert yerine Parse kullanmamın sebebi Unity ile uğraşmam. Unity'de daha çok float ile çalışıyoruz. Convert içinde float yok :)
direk değil direkt!!!
Bunlar junior soruları değil middle soruları gibi geliyor bana . Fazla zorluyorsun.
Bence middle için çok basit sorular olurdu bunlar. Junior arkadaşlar için kolay sayılabilecek sorular düzeyinde bunlar. Ayrıca bir çoğu programlama bilgidir gerektirmiyordu. Temel mantık ve algoritma çözümleri var içinde. Yani yazılım eğitimi almış herkesin yapabileceği konular :)
normalde junior bile şöyle oluyo ruclips.net/video/_7w3FHoXjh4/видео.html
Bence soru junior, middle ve senior lara sorulabilir. Her birinden beklenen cevap farklı olacaktır. Zaman ve bellek karmaşıklığı hesaba katılarak yazılan kod değerlendirilebilir.
junior bile değilim, yazılımla ilgileneli 3 ay kadar oldu. ekran çıktısı sorusunda recursion olduğunu ilk görüşte anladım. tabii böyle bir durumda heyecan olduğunu varsayıyorum ben olsam ben de heyecanlanırdım. ama soruların zor olduğunu düşünmüyorum.
Karşındakiyle konuşurken kendini fazla kasıyorsun :)
aboo
yandaki ekranda başka birşeyle uğraşıyormuş gibi görünen acemi işe alımcı çok kötü ...
Bune olm puhahahah. Okumanın gerçekten hiçbir işe yaramadığının kanıtı. Adamın mülakat sınavı giriş seviyenin bile altı. İnteger ne bilmeyen eleman 😂
Siz okumadınız mı? Okulun faydasız olduğunu kanaat getirmek için biraz acele etmişsiniz gibime geldi biraz. Haksızlık ediyorsunuz eğitimin önemine bence
Merhaba hocam 34. dakikadaki soru için videoyu durdurdum ve soruyu kendim çözdüm.
algoritmam şu şekilde,
gelen 2 verinin basamak sayısına bakıyor,
eşit değil ise az olanın başına 0 ekleyerek karakter sayısını eşitliyor
iki değerin son karakterlerinden başlayarak topluyor
çıktı tek basamak ise bunu bir dizinin ilk değeri olarak yazıyor
çift basamak ise birler basamağını diziye yazıyor ve sonraki işlem için artı 1 ekliyor
ve döngü bitene kadar tüm karakterlerde bu işlem devam ediyor.
döngü bitince son işlem için 8+7 gibi artı 1 olacağı senaryoda, +1'i kontrol edip onuda diziye ekliyor.
diziye eklenen veriler ters olduğu için, diziyi ters çeviriyor ve diziyi stringe dönüştürüp bitiyor.
kodu python ile yazdım, farklı senaryolarda test ettim doğru çalışıyor, çıktı doğru ama sorun bu 45 satırlık kodu yazmam yaklaşık 45 dakika sürdü :)
bu zaman sizce normal mi, mülakat için daha hızlı olması gerekiyor mu
kodu aşağıya veriyorum
github.com/atalhatabak/StringSum/blob/main/StringSum.py
Daha hızlı olması gerekiyor ama bunlar biraz da pratik işi. Pratik yaptıkça süreler kısalıyor:)
Kodda eklenen sayilar 10 7 4 1 -2 olarak buldum
İlk adayın sorusunda 2énin de listeye eklenmesi gerekmiyor muydu parametre olarak 2yi aldığımızda?
6 ay once gene yorum yapmisim. bugun ceng 3. sinif ogrencisiyim ve bu kodun aynisini yazmis bulunmaktayim. alin size mulakat sorusunun cozumu.
package org.example;
import java.util.*;
public class main2 {
public static void main(String[] args) {
String sayi1 = "999999333";
String sayi2 = "918891";
// Sayıları tersine çevirme
String sayi1Reversed = reverse(sayi1);
String sayi2Reversed = reverse(sayi2);
// Toplama işlemi için yeni bir dizi oluşturma
int maxLength = Math.max(sayi1Reversed.length(), sayi2Reversed.length());
int[] dizi = new int[maxLength + 1];
// Sayıları diziye ekleme ve taşmaları kontrol etme
for (int i = 0; i < maxLength; i++) {
int toplam = dizi[i];
if (i < sayi1Reversed.length()) {
toplam += Integer.parseInt(String.valueOf(sayi1Reversed.charAt(i)));
}
if (i < sayi2Reversed.length()) {
toplam += Integer.parseInt(String.valueOf(sayi2Reversed.charAt(i)));
}
if (toplam >= 10) {
dizi[i + 1] += toplam / 10;
toplam %= 10;
}
dizi[i] = toplam;
}
// Sonucu ekrana yazdırma
System.out.print("Toplama Sonucu: ");
boolean leadingZeros = true;
for (int i = dizi.length - 1; i >= 0; i--) {
if (leadingZeros && dizi[i] == 0) {
continue;
}
leadingZeros = false;
System.out.print(dizi[i]);
}
}
// Stringi tersine çeviren metot
public static String reverse(String input) {
int length = input.length();
StringBuilder reversedString = new StringBuilder(length);
for (int i = length - 1; i >= 0; i--) {
reversedString.append(input.charAt(i));
}
return reversedString.toString();
}
}