İ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.
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..
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
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 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
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.
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 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
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
StringBuilder toplama(string sayi1, string sayi2) { //Değişkenler char[] buyuksayi; char[] kucuksayi; int eldevar = 0; int loop = 0; //Hangi sayının daha büyük olduğunu ayırt etme if (sayi1.Length > sayi2.Length) { buyuksayi = sayi1.ToCharArray(); kucuksayi = sayi2.ToCharArray(); } else { buyuksayi = sayi2.ToCharArray(); kucuksayi = sayi1.ToCharArray(); } // Toplama işlemine sağdan başlanacağı için Array'leri ters çevirme Array.Reverse(buyuksayi); Array.Reverse(kucuksayi); // Sonuç değişkeni StringBuilder toplam = new StringBuilder("", buyuksayi.Length + 1); //Büyük olan sayının son rakamından başlayıp küçük olanın rakamıyla toplama işlemi foreach (char rakam in buyuksayi) { //Eğer küçük sayıdaki tüm karakterler işleme tabii tutulduysa, büyük sayıdaki kalan sayıları aynen yaz if (loop > kucuksayi.Length - 1) { //Daha öncedeki rakamların toplamını 10'u geçmiş ise eldevar'ı da ekle int rakamlartoplami = (rakam - '0') + eldevar; //Rakamlar toplamı 10 ve daha fazlasıysa rakamın son hanesini yaz. Sayının son rakamı istisna, 10'u geçse de direkt yazılır. if (rakamlartoplami > 9 && loop != buyuksayi.Length - 1) { eldevar = rakamlartoplami / 10; rakamlartoplami = rakamlartoplami % 10; } toplam.Insert(0, rakamlartoplami); } else { int rakamlartoplami = (rakam - '0') + (kucuksayi[loop] - '0' + eldevar); if (rakamlartoplami > 9) { eldevar = rakamlartoplami / 10; rakamlartoplami = rakamlartoplami % 10; } //Sonuç stringinin başına rakamın toplamını ekle toplam.Insert(0, rakamlartoplami); } loop++;
} return (toplam); } Belki birine lazım olur, string ile toplama işlemi için şu şekilde bir kod yazdım. Bildiğim birkaç proglamlama dili vardı ama hiç C# çalışmamıştım. Birkaç saat içinde yapmaya çalıştım, optimizasyon konusunda muhtemelen berbat ama yine de buraya bırakayım(github linki atmak isterdim ama youtube izin vermiyor)
Çok faydalı bir video serisi ❤ Değerlendirme kısımları özellikle dinlenmeli. Umarım bu serinin devamı gelir. Emeğinize sağlık. edit: Mümkünse kişinin CVsini ve sorulan soruların(kodların özellikle) doğru cevaplarını discordda paylaşabilir miyiz? Ayrıca soru cevap kısmı eğer sorulardan bağımsızsa ayrı video şeklinde yayınlanabilir değilse de video kapandıktan sonra dcde tartışılabilir diye düşünüyorum, mülakat videosunun çok uzamaması adına.
Bu video bir önceki kadar uzun sürmemişti o yüzden sorunun doğru cevabını da videoya dahil ettim. Sorunun cevabını da discord üzerinden paylaştım arkadaşlarla daha sonra inceleyebilsinler diye ama bir sonraki video için soracağım soruyu ayrı bir video şeklinde planlıyorum :) Teşekkürler yorumlarınız 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?
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ğ
@@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.
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.
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.
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
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ı.
İ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); } }
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ı.
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
@@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.
@@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.
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.
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;
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.
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(); } }
İ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.
Tebrikler kardeşim. Yine gençlere ışık tutuyorsun. Kıymetli vaktini böylesi değerli bir amaca harcıyor olmani çok takdir ediyorum.
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..
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
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
Merhabalar Salih Bey, bu seri için teşekkür ederiz çok faydalı oluyor.
Devamını bekliyoruz.
son zamanlarda TH-cam 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 :)
Bu seri çok güzel lütfen devam edin. Teşekkürler.
Güzel bir mülakat olmuş teşekkürler. Devamının gelmesini temenni ederim 😊
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
Geçen bölümü zevkle izledim. İyi ki devam ediyor seri.
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.
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
Güzel bir video serisi. Lütfen devamı gelsin.
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 :)
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 :)
Bugün keşfettim gerçekten çok faydalı bir seri olmuş umarım devamı gelir. Belki ben de şansımı deneyebilirim 🙃
Kesinlikle devami gelmeli hocam.
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.
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 :)
bu iki string sorusu acayip uzatılmış. girişe göre try catch ile fortmatexpection çevrilebilirdir :)
Güzel bir video olmuş yakında mezun oluyorum :D ve verdiğiniz fikirler değerli sağolun
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ı.
çok yararlı bir interview olmuş. teşekkürler.
StringBuilder toplama(string sayi1, string sayi2)
{
//Değişkenler
char[] buyuksayi;
char[] kucuksayi;
int eldevar = 0;
int loop = 0;
//Hangi sayının daha büyük olduğunu ayırt etme
if (sayi1.Length > sayi2.Length)
{
buyuksayi = sayi1.ToCharArray();
kucuksayi = sayi2.ToCharArray();
}
else
{
buyuksayi = sayi2.ToCharArray();
kucuksayi = sayi1.ToCharArray();
}
// Toplama işlemine sağdan başlanacağı için Array'leri ters çevirme
Array.Reverse(buyuksayi);
Array.Reverse(kucuksayi);
// Sonuç değişkeni
StringBuilder toplam = new StringBuilder("", buyuksayi.Length + 1);
//Büyük olan sayının son rakamından başlayıp küçük olanın rakamıyla toplama işlemi
foreach (char rakam in buyuksayi)
{
//Eğer küçük sayıdaki tüm karakterler işleme tabii tutulduysa, büyük sayıdaki kalan sayıları aynen yaz
if (loop > kucuksayi.Length - 1)
{
//Daha öncedeki rakamların toplamını 10'u geçmiş ise eldevar'ı da ekle
int rakamlartoplami = (rakam - '0') + eldevar;
//Rakamlar toplamı 10 ve daha fazlasıysa rakamın son hanesini yaz. Sayının son rakamı istisna, 10'u geçse de direkt yazılır.
if (rakamlartoplami > 9 && loop != buyuksayi.Length - 1)
{
eldevar = rakamlartoplami / 10;
rakamlartoplami = rakamlartoplami % 10;
}
toplam.Insert(0, rakamlartoplami);
}
else
{
int rakamlartoplami = (rakam - '0') + (kucuksayi[loop] - '0' + eldevar);
if (rakamlartoplami > 9)
{
eldevar = rakamlartoplami / 10;
rakamlartoplami = rakamlartoplami % 10;
}
//Sonuç stringinin başına rakamın toplamını ekle
toplam.Insert(0, rakamlartoplami);
}
loop++;
}
return (toplam);
}
Belki birine lazım olur, string ile toplama işlemi için şu şekilde bir kod yazdım. Bildiğim birkaç proglamlama dili vardı ama hiç C# çalışmamıştım. Birkaç saat içinde yapmaya çalıştım, optimizasyon konusunda muhtemelen berbat ama yine de buraya bırakayım(github linki atmak isterdim ama youtube izin vermiyor)
Kolaya kaçmak da olsa gerçek hayatta Big integer kullanılacak. Daha güzel bir soru seçilebilirmiş.
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
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 ;)
Çok faydalı bir video serisi ❤ Değerlendirme kısımları özellikle dinlenmeli. Umarım bu serinin devamı gelir. Emeğinize sağlık.
edit: Mümkünse kişinin CVsini ve sorulan soruların(kodların özellikle) doğru cevaplarını discordda paylaşabilir miyiz? Ayrıca soru cevap kısmı eğer sorulardan bağımsızsa ayrı video şeklinde yayınlanabilir değilse de video kapandıktan sonra dcde tartışılabilir diye düşünüyorum, mülakat videosunun çok uzamaması adına.
Bu video bir önceki kadar uzun sürmemişti o yüzden sorunun doğru cevabını da videoya dahil ettim. Sorunun cevabını da discord üzerinden paylaştım arkadaşlarla daha sonra inceleyebilsinler diye ama bir sonraki video için soracağım soruyu ayrı bir video şeklinde planlıyorum :)
Teşekkürler yorumlarınız için
Çok faydalı oluyor teşekkürler
Teşekkürler
Buradan Alper hocama sevgilerimi iletiyorum baya zor sorardı bizde kudururduk adam bildiğin mülakat soruları soruyormuş sınavda
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
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ğ
çok yararlı bir video oldu
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
Flutter junior versiyonu gelsin lütfen!
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.
Bizim için en faydalı video benve
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.
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
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.
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;
}
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ıç
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 :)
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ı.
İ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);
}
}
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.
çok güzel video
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
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.
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 :)
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 :)
elde varlar gümbür gümbür gelemez mi ?- --------------------Ali NESİN o7 --------------------Emeğinize Sağlık hocam o7
ağzına sağlık abi..mid için de mulakat olabilirse sevinirim.
Aday bulabilirsek tabi ki :)
@@TechBuddyTR Nasıl aday oluyoruz
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
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
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.
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.
Merhaba, bir java developer olarak bu tür bir mülakata girip kendimi test etmek isterim.
Discord sunucumuza gelip başvuru yapabilirsiniz.
yeni video ne zaman hocam
Bu hafta bir tane daha yapacağız kısmetse
İlk soruda neden -2'yi de listeye eklemedik anlayamadım hocam
ekledik -2 yi de listeye
@@TechBuddyTR Teşekkürler hocam görememişim
Teşekkürler..
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;
}
Buyuk rakamlarsa yaziya cevirir okuturdum desene 😂😂😂😂
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
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.
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.
Thread - çok basit demesemiydik)
Her yerde soruluyor, karşımıza çıkıyor ve cevaplanıyor anlamınds kolaydı :)
Mülakat Şavaşları 3 olmasını temenni ederim.
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
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.
aynı mülakata girdim algoritmayı doğru söyledim cevabı yanlış verdim :D kafayı yicem
Gidiş yoluna da puan veriyoruz :D
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;
}
Ben try catch alır geri gönderirdim."geçersiz sayı " diye :)
şu şurada dursun 10,7,4,1,-2 ve return -1
Tamam :)
Iyi günler gönüllü olarak çıkabilir miyiz
Discord sunucumuza bekleriz
direk kod mu? direkt kod olmasın o :)
Direkt bence de :)
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?
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
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😂😂
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!!!
Matematiği çok iyi olmasada bence iyi bir yazılımcı olunabilir
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 th-cam.com/video/_7w3FHoXjh4/w-d-xo.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
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
yandaki ekranda başka birşeyle uğraşıyormuş gibi görünen acemi işe alımcı çok kötü ...
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();
}
}