Özet: 1. Mülakatın Formatı ve Amacı: - Mülakatın amacı, Junior seviyedeki yazılımcı adaylarının yeteneklerini test etmek ve onlara geri bildirim sağlamak. Bu, gerçek bir iş görüşmesi değil, bir pratik mülakat ortamı. 2. Mert Sırakaya'nın Durumu: - Mert, programlama deneyimi 5 yıla dayanan ve özellikle Python ve C++ dillerinde kendini geliştiren genç bir aday. Profesyonel deneyimi olmamasına rağmen, çeşitli projelerde kendini denemiş. 3. Kodlama Soruları: - Mülakatta, Python dilinde kod okuma ve yazma üzerine sorular soruldu. İlk soruda, verilen kod parçası doğru bir şekilde analiz edildi. İkinci soruda, Roma rakamlarını ondalık sayıya çevirme görevi verildi, ancak Roma rakamlarına aşina olunmadığı için biraz zorlanıldı. 4. Geri Bildirim: - Mert'in genç yaşına rağmen programlamaya olan ilgisi ve bilgisi takdir edildi. Roma rakamlarıyla ilgili soruda daha basit bir çözüm yolu önerildi. Genel olarak, mülakat başarılı bulundu ve Mert'in kariyerinde parlak bir geleceği olduğu ifade edildi. 5. Katılım Teşviki: - Bu tür mülakatlara katılmak isteyen diğer adaylar da teşvik edildi. Özellikle farklı dillerde Junior seviyesinde mülakatlar yapılabileceği belirtildi. Senior seviyesindeki adayların ise .NET alanında katılmalarının daha uygun olacağı ifade edildi.
Video için ve güzel temennilerin için teşekkür ederim Salih hocam. Çok güzel bir deneyimdi benim için her şeye rağmen. İzleyen ve izleyecek herkese de keyifli seyirler diliyorum.
Ben de tersten giderek çok kısaca çözmüş bulundum. def to_number(roman): numbers = { 'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000, } total = 0 init = -1 for c in reversed(roman): if numbers[c] >= init: total += numbers[c] init = numbers[c] else: total -= numbers[c] return total
Tebrik ediyoum gerçekten hayıflanarak izledim videoyu. Arkadaş Junior ise ben 2. sınıf bilgisayar programcısı olarak okulda bu kadar boş zaman geçirdiğime inanamıyorum. Okulda hiçbir şey öğrenemiyoruz resmen. Her şeye baştan başlamak üzere buraya dipnot bırakıyorum kendime.
@@circuit55 öyle gerçekten. Öğrenciye hiçbir şey katmıyorlar. Doçent doktor bile bir havalara girmiş sorduğu 5 sorunun 2 Şi yanlış herkese üstten bakıyorlar.
İletişim noktasında kendini geliştirmesi gerektiğini düşünüyorum daha kısa öz ve net konuşursa kendi imajını daha iyi koruyabilir. Ayrıca bilmediğin şeyi sormaktan asla çekinme herşeyi bilmek zorunda değilsin. Kişiden bağımsız teknik mülakat noktasında şirketler ne bildiğine değil bildiklerini uygulayabilme kapasitesine daha çok bakıyorlar zaten birçok şirket kendi özel kod bloklarını kullanıyor bu yüzden şirkete girince birçok şeyi öğrenmen gerekiyor. En önemlisi yazılımcı gibi düşünüp problem çözme işini ne kadar hızlı yapabildiğindir. Algoritmik düşünme becerisi deniyor buna da yazılımcıların çok para kazanmasının en temel sebebi de bu becerinin çok da kolay olmamasından kaynaklı
Çalışma hayatına başladığında tamamen çalıştığın yerdeki problemlere odaklanıyorsun kendini geliştirmeye pek bir zamanın olmuyor ama Şuan da junior developer olarak bu bilgilere sahip olman ve kendini böylesine geliştirmek istemen çok güzel başarılarının devamını dilerim
for i in range(len(roman)): if i > 0 and numbers[roman[i]] > numbers[roman[i-1]]: total -= 2 * numbers[roman[i-1]] total += numbers[roman[i]] return total print(to_number("MCMVII")) print(to_number("MMXI")) print(to_number("XC")) print(to_number("MCMXC"))
C++: Hem düşük seviyeli hem de yüksek seviyeli özelliklere sahip, genellikle sistem programlaması ve performans odaklı uygulamalar için kullanılan bir dil. Bende "Python" seven biriyim :)
Benim içimden C++'a low-level demek gelmiyor ya :). Memory-management ile ilgili konudan ötürü low-level kategorisine sokuluyor ama bence kesin bir şekilde low-level yapmıyor dili özellikle Modern C++ 'ın gelişiyle, C'den neredeyse apayrı yepyeni bir C++ ortaya çıktı. Low ise de high ise de önemsiz, seviyoruz bu dili. Python'ı da sevmeye devam ediyoruz. Ayrı gayrı yok...
Arkadaş 10 numara herhangi bir problem yok da bu yorumlardaki dangalaklara rastlamanızın tek sebebi yazılımın ele ayağa düşüp saygınlığını yitirmesidir. Bu arada şapka yakışmış, sevgiler :)
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
Saka mi bu genc arkadasimiz, medior senior arasi gibi anlatiyor. Arkadasa bir tavsiye, mazeretler haricinde kendi seviyesini daha dusuk gosterecek cumlelerden kacinsin, arkadasimiz cok mutevazi birisi cok belli ama seviyesi Junior'un fazlasiyla uzerinde oldugu o kadar belli ki. Not: Bu yorumu degerlendirmeyi gormeden yazmistim.
ahahahhaahha lütfen yapıcı yorum yapın arkadaşımıza boş umutlar vermeyelim, teknik mülakatlara girdiğimde bu tür arkadaşlar sadece hevesli fakat teknik ve pratik yönden yetkin olamıyor maalesef kabul etmiyoruz bu arkadaş gibilerini. Junior değil yazılımla tanışma esnası developer diye adlandırıyoruz bu tarz arkadaşları
@@eASEGE sen neyin egosunu yaptın ki şimdi? 18 yaşında birine göre fazlasıyla gelecek vadeden bir arkadaş. Mülakatları da ahahahah diye mi cevaplıyorsun?
@@eASEGE Seviyemin Junior üstü olmadığını ben de biliyorum. Yorumunuz fazlaca kibir ve haset içeriyor. Yazılımla tanışma esnası developer'dan daha fazlası olduğumu ekseriyetle ifade edebilirim. Kendime uzman dediğim yok ama küçümsediğiniz kadar mülakattan kalacak teknik yönden yetersiz birisi de hiç değilim. Bu arkadaş gibilerini dediğiniz kişiler çok yakın arkadaşlarım oluyorlar, emin olun sizin gibi kişilerle işimiz yok. Zaten sizin gibi HR 'cılar varken işe girmek yokluk içinde evlenmek gibi bir şey. Sizin belki el sürmediğiniz teknolojileri öğreniyor ve kullanıyoruz. Merak etmeyin videoda da dediğim gibi hedefim sizin gibi yıkıcı, gerici firmalarda çalışmak değil. İçiniz rahat olabilir hiç uğramayacağım size ama adımı elbet duyarsınız bu da sözüm olsun:D :D.
@@EduLayer türkiyenin en yenilikçi enterprise uygulamalarını biz geliştiriyoruz hocam, amacım kibir yapmak değil. yorum yapan arkadaşın gaza gelişine güldüm. Seviyeniz yeterli olabilir, fakat pratik olarak iş hayatında işe yarar bir mülakat göremedim bu aşamada. Maalesef 2015'ten kalma teknikler uygulandığı için dalga geçmek zorunda hissettim. Yolun açık olsun
Mülakatı yapan arkadaş çok sığ bir bakış açısına sahip. C++ ın geçmişte kaldığı düşünce yapısına sahip henüz videonun baslarindayim çok büyük ihtimalle kendisi .Net developer. Bazen bilinmeyeni görmezden gelmek rahatlatır ama gerçeği değiştirmez.
C++ ın hala güçlü bir dil olduğu aşikar, kimse görmezden gelmiyor. C++ ın geçmişte kalması konusu ise bugünün değil yıllardır ortada olan bir konu. Geçmişte kalmış olması eskimiş veya yetersiz olduğu anlamına gelmiyor elbette ama şunu da kabul etmek lazım artık C++ dan daha iyi o işleri yapan diller var. Onun dışında .Net Developer'larla ilgili bir probleminiz varsa, buyrun konuşalım, detaylandıralım!
@@TechBuddyTR Microsoft teknolojilerinden nefret ediyorum ;) Onu kullananlar da genelde kalıplara sıkıştırılmış oluyor ve bu çok farkedilebiliyor. (Uzun süre C# kullanmış birinin düşüncesi)
leetcode üzerinde problemi şu şekilde çözmüştüm: def romanToInt(self, s):
sum= 0 index=0 dict1={"I":1,"V":5,"X":10,"L":50,"C":100,"D":500,"M":1000} dict2={"IV":4,"IX":9,"XL":40,"XC":90,"CD":400,"CM":900} liste=[] for i in s: liste.append(i)
while len(liste) > index: if index < len(liste) - 1 and liste[index] + liste[index+1] in dict2: value = dict2[liste[index] + liste[index+1]] sum += value index += 2 else: value=dict1[liste[index]] sum+=value index += 1
PHP saçma değildir :) Neden başka dil değil sorusu da junior'a sorulcak normal bir soru değil, ama oltalama sorusu denebilir. Ve başarılıda oldu, oltayada kocaman bir balık geldi. Junior olsam python hype vardı sadece onu denedim beğendim ve devam ettim yanıtı normal olur heralde
Hype'dan dolayı bir dile başlamadım. Başladığım diller Hype'landı. Bir örneği de Flutter. Adı duyulmadığı sıralar Flutter yazmaya başladık, BTK Akademi'nin çıkması ile piyasa Flutter developer ile dolmaya başladı. Golang'in hypelanması da yine 2020 sonu 2021 başı özellikle bizim ülkede her yerde yer edinmeye başlamıştı. Bahse konu 2018 yılında günümüzdeki kadar Python hype'ı yoktu. Olsaydı, PHP ile işim olmazdı ve tekrarlayayım benim için saçma bir tercihti.
Javascript de yaptım daha eksikleri var ama isteyen arkadaşlar üstünde çalışsın diye buraya bırakıyorum, function toNumber(roman){ var numbers = { 'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000 } total = 0; // if roman is null then throw error // if a char replicate 4 times then throw error // I // II // III // IV // VI // VII // VIII // IX // X if(roman.length == 1) { return numbers[roman]; } roman = roman.split('');
for(var i = 0; i < roman.length; i++){ var nextChar = roman[i+1]; var currentChar = roman[i]; var nextValue = numbers[nextChar]; var currentValue = numbers[currentChar]; if(nextValue > currentValue){ total += nextValue - currentValue; i++; }else{ total += currentValue; } } return total; }
Ben mülakatta 2nci bir ekran açıyor, yanımda da bir arkadaş oluyordu. Arkadaş yapay zekaya soruları yazıyor cevapları alınca benim ekranın üstündeki küçük lcd ekrana düşünce çatır çutur cevaplıyordum. Sonra Amerika’da çalıştım C, C++, C#, Python, R, Rust, Haskell, Java, JavaScript, React, GoLang öğrendim burda kurslarda. Nvidia kodlama öğrenmeyin artık yapay zeka 🤖 o işi halletcek deyince bıraktım kodlamayı. Şimdi aşçılık kurslarına gidiyorum acayip zevkli ve parası çok iyi. Tavsiye ederim.
@@EduLayer haklısın ama ben internette çok kolay elde edebileceğim şeylere vakit harcamayı vakit. kaybı olarak görüyorum ekstra çaba gerektiren şeyleri zaten kendim hallediyorum
Sizce burada gerçekten bir yazılımcının veya adayının bir sorunun cevabını bulup bulamayacağını mı sorguluyoruz? Elbette birçok şeyi ezberlemeye gerek yok, temel mantık oturduktan sonra bu tarz şeyler bir şekilde elde edilir. Benim burada yapmaya çalıştığım şey adayın gerçekten o temele sahip olup olmadığını anlamaya çalışmak
Run'a basmaktan korkmuş biraz, printleri test case gibi düşünüp en başından beri çalıştırarak gitse halledermiş. Hatta logic'in içine de emin olunmayan kısımlara assertion koyulabilir. Interviewer'a göre değişir tabi bu fakat zorlanılan bir problemde hafif TDD pratiği görmek benim için + puan olurdu, siz ne düşünüyorsunuz?
Soruya dikkatimi veremedim. ADHD'liyim. Yapmam gereken yordamın adım adım güzergahını not alsaydım sanırım kafam karışmayacaktı ama tabii konuya aşinalık da yok, heyecan da bir yandan.
Karşı taraftan onay alarak bunu çözmek mantıklı bir yaklaşım olabilir ama özellikle junior mülakatlarında çok fazla test yazıyor olmak pek iyi olmayabilir. Bu sorunun kapsamı, etki analizi, nasıl kodlama yapılacağı konusunda eksiklerinin olduğu düşünülür.
merhaba TechBuddy, bence iyi bir mülakat olmadı. Pat diye junior'a roma rakamlarını içeren bir algoritma sordun... Çocuk doğal olarak öncelikle roma rakamı mantığını bilmeli ki, ona göre yorum yapabilsin... Kolaydan zora doğru gidilen sorular silsilesi olsa, bu arkadaş daha iyi performans sergilerdi, diye düşünüyorum.
Proje ödevi olarak gönderilen sorularda, daha önceden bilgi vermezler. Soruyu sorarlar süreniz başlar. Olabildiğince konu hakkında bilgi vermeye çalışırlar. Adayı zaten bildiği bir konuda test etmek çok doğru sonuçları vermeyebilir.
@@TechBuddyTR Mülakata giriyorsunuz ve bir anda size nasil calistigini bilmediginiz bir sistem hakkinda soru soruluyor... sonuc hüsrandir ve degerlendirme sistemi yanlistir. Basit anlatayim: "Roma rakam sistemi şöyle çalisir, bununla ilgili bir script yazin veya izahtan sonra şu kodu okuyun" dense, sorun kalmayacak...Videodaki mülakat saglikli sonuç vermez. NOKTA
@@gutZuWissen_jetzt Soruya başlamadan önce zaten konuyu açıkladım kendisine. Roma rakamı nasıl çalışır diye anlatmaya çalıştım. Kaldı ki bu bir algoritma sorusu. Adına roma rakamı demesek bile böyle bir algoritma istiyoruz diye gayet de sorabiliriz
json parser yazmak zor degil ki? her virgulden sonra gelen ilk harf ne ise ona gore kontrol edicez. iterable dedigi seyler zaten bir tane var. LISTE. geri kalanlari key value seklinde yani elimizde 2 durum var. 1- " 2- [ 2. durumda olursa bidaha icini yoklamamiz gerekebilir burada rekursif birseyler yazilabilir. ic ice [ leri arar ve bulur. ona gore setlemeyi yapar. zor degil bence ya
zor olduğunu söylemedim. videoda sorulan doğrudan şuydu: "bir json serializer yazarken dikkat edilmesi gereken nedir?" buna verdiğim cevap recursive yapıları doğru işleyebilmektir.
Kimsenin ingilizce bilgisini ölçmek veya değerlendirmek bize düşmez, bu konuda uzman değiliz. Ayrıca bu iş ilanı ingilizce gerektiren bir ilan olmuş olsaydı, belki İngilizcesi üzerine de bir şeyler söylenebilirdi ama yanlışlarını değil, hangi kelimeleri söylerken anlayıp anlamadığımızı
low level kardesim. Orta seviye muhabbeti resmiyette yok. Sadece yazilimcilar arasinda donen bir terim. C ailesi dusuk seviyedir. C# C++ C diye gidiyor.
Php ile 500 milyon web sitesi yapılmadı denmedi zaten videoda. Php denilince gülmemizin sebebi ise, php için uzun zamandır yapılan şakalardır. Videoyu saçma bulmanızın sebebini de belirtebilirseniz, bir sonrakinde daha dikkatli olmaya çalışalım. Söylemezseniz de 'Tüh size be'
@@TechBuddyTR Hocam, çirkin yorum için özür dilerim, kusura bakmayın. Sadece biraz sinirlendiğim için öyle yorum yapmakta acele ettim, yoksa video gayet güzel olmuş, ellerinize sağlık. Emektar PHP'mize saldırılınca bende defensif moda geçip karşı saldırıya geçiyorum çünkü; 4 yıl boyunca bana epey para kazandırdı, tamamen insanlığa ücretsiz bir hizmet gibi PHP! Teşekkür ederim, anlayışınız için. 🤧
@@TechBuddyTR PHP IT dünyasında her zaman favori dillerimden biri olmuştur. PHP8 ile birlikte syntax'ı daha modern ve zarif bir hale geldi. C'ye olan yakınlığı açık kaynaklı yapısı ve tamamen ücretsiz oluşu bu dili benim için vazgeçilmez kılıyor. Linux ortamlarında web geliştirme alanında hala güçlü bir konumda. Phalcon framework ile bu gücü ve esnekliği bir üst seviyeye taşıyor. Sevgiler hocam, çalışmalarınızda başarılar dilerim.
Özet:
1. Mülakatın Formatı ve Amacı:
- Mülakatın amacı, Junior seviyedeki yazılımcı adaylarının yeteneklerini test etmek ve onlara geri bildirim sağlamak. Bu, gerçek bir iş görüşmesi değil, bir pratik mülakat ortamı.
2. Mert Sırakaya'nın Durumu:
- Mert, programlama deneyimi 5 yıla dayanan ve özellikle Python ve C++ dillerinde kendini geliştiren genç bir aday. Profesyonel deneyimi olmamasına rağmen, çeşitli projelerde kendini denemiş.
3. Kodlama Soruları:
- Mülakatta, Python dilinde kod okuma ve yazma üzerine sorular soruldu. İlk soruda, verilen kod parçası doğru bir şekilde analiz edildi. İkinci soruda, Roma rakamlarını ondalık sayıya çevirme görevi verildi, ancak Roma rakamlarına aşina olunmadığı için biraz zorlanıldı.
4. Geri Bildirim:
- Mert'in genç yaşına rağmen programlamaya olan ilgisi ve bilgisi takdir edildi. Roma rakamlarıyla ilgili soruda daha basit bir çözüm yolu önerildi. Genel olarak, mülakat başarılı bulundu ve Mert'in kariyerinde parlak bir geleceği olduğu ifade edildi.
5. Katılım Teşviki:
- Bu tür mülakatlara katılmak isteyen diğer adaylar da teşvik edildi. Özellikle farklı dillerde Junior seviyesinde mülakatlar yapılabileceği belirtildi. Senior seviyesindeki adayların ise .NET alanında katılmalarının daha uygun olacağı ifade edildi.
Video için ve güzel temennilerin için teşekkür ederim Salih hocam. Çok güzel bir deneyimdi benim için her şeye rağmen. İzleyen ve izleyecek herkese de keyifli seyirler diliyorum.
Ben de tersten giderek çok kısaca çözmüş bulundum.
def to_number(roman):
numbers = {
'I': 1,
'V': 5,
'X': 10,
'L': 50,
'C': 100,
'D': 500,
'M': 1000,
}
total = 0
init = -1
for c in reversed(roman):
if numbers[c] >= init:
total += numbers[c]
init = numbers[c]
else:
total -= numbers[c]
return total
Tebrik ediyoum gerçekten hayıflanarak izledim videoyu. Arkadaş Junior ise ben 2. sınıf bilgisayar programcısı olarak okulda bu kadar boş zaman geçirdiğime inanamıyorum. Okulda hiçbir şey öğrenemiyoruz resmen. Her şeye baştan başlamak üzere buraya dipnot bırakıyorum kendime.
okullarda öğretecek donanımlı insan olmamasından kaynaklandığı için, bu ülkede kendini geliştirmek konusu bu kadar önem kazanıyor:
@@circuit55 öyle gerçekten. Öğrenciye hiçbir şey katmıyorlar. Doçent doktor bile bir havalara girmiş sorduğu 5 sorunun 2 Şi yanlış herkese üstten bakıyorlar.
@@imathildausta hangi üni
@@berat578 omü
İletişim noktasında kendini geliştirmesi gerektiğini düşünüyorum daha kısa öz ve net konuşursa kendi imajını daha iyi koruyabilir. Ayrıca bilmediğin şeyi sormaktan asla çekinme herşeyi bilmek zorunda değilsin. Kişiden bağımsız teknik mülakat noktasında şirketler ne bildiğine değil bildiklerini uygulayabilme kapasitesine daha çok bakıyorlar zaten birçok şirket kendi özel kod bloklarını kullanıyor bu yüzden şirkete girince birçok şeyi öğrenmen gerekiyor. En önemlisi yazılımcı gibi düşünüp problem çözme işini ne kadar hızlı yapabildiğindir. Algoritmik düşünme becerisi deniyor buna da yazılımcıların çok para kazanmasının en temel sebebi de bu becerinin çok da kolay olmamasından kaynaklı
merhabalar, algoritmik düşünme becerisini ve algoritma oluşturma becerisini nasıl geliştirebiliriz?
Çalışma hayatına başladığında tamamen çalıştığın yerdeki problemlere odaklanıyorsun kendini geliştirmeye pek bir zamanın olmuyor ama Şuan da junior developer olarak bu bilgilere sahip olman ve kendini böylesine geliştirmek istemen çok güzel başarılarının devamını dilerim
Tam zamanlı çalışırken de kendini geliştirmek mümkün. Bazen çalışılan şirkette, bazen ise kendi özel zamanlarınızda.
Unicode ezberlemesi mi lazım ord fonksiyonu icin sacma degil mi?@@TechBuddyTR
@@z0zd_1 unicode değil de ascii kodları ile char dönüşümlerini biliyor olması avantaj getirir. Bilmiyor olup, sorsaydı cevabını ben verebilirdim
@@TechBuddyTR bilmemizin faydası olur o vakit teşekkürler
@@z0zd_1 sadece onu calistirip ne dondurdugune de bakabilirdi
def to_number(roman):
numbers = { "I":1, "V":5, "X":10, "L":50, "C":100, "D":500, "M":1000}
total = 0
for i in range(len(roman)):
if i > 0 and numbers[roman[i]] > numbers[roman[i-1]]:
total -= 2 * numbers[roman[i-1]]
total += numbers[roman[i]]
return total
print(to_number("MCMVII"))
print(to_number("MMXI"))
print(to_number("XC"))
print(to_number("MCMXC"))
çok başarılı video , arkadaşta çok sağlam helal olsun.
def to_numbers(roman: str) -> int:
numbers = {
'I': 1,
'V': 5,
'X': 10,
'L': 50,
'C': 100,
'D': 500,
'M': 1000,
}
result = 0
for i in range(len(roman)):
if i != len(roman) - 1 and numbers[roman[i]] < numbers[roman[i+1]]:
result -= numbers[roman[i]]
else:
result += numbers[roman[i]]
return result
print(to_numbers("MCMVII"))
print(to_numbers("MMXI"))
print(to_numbers("XC"))
print(to_numbers("MCMXC"))
Kağıt ve kalem kullanarak problem-çözüm ilişkisini içselleştirmek iyi bir yöntem olabilir.
C++: Hem düşük seviyeli hem de yüksek seviyeli özelliklere sahip, genellikle sistem programlaması ve performans odaklı uygulamalar için kullanılan bir dil.
Bende "Python" seven biriyim :)
Benim içimden C++'a low-level demek gelmiyor ya :).
Memory-management ile ilgili konudan ötürü low-level kategorisine sokuluyor ama bence kesin bir şekilde low-level yapmıyor dili özellikle Modern C++ 'ın gelişiyle, C'den neredeyse apayrı yepyeni bir C++ ortaya çıktı.
Low ise de high ise de önemsiz, seviyoruz bu dili.
Python'ı da sevmeye devam ediyoruz. Ayrı gayrı yok...
@@retrogalaksi 😁😁😁😁😁
@@retrogalaksi Kardeşim ne saçmalıyorsun Allah aşkına ya
@@retrogalaksi kardeşim oradan buradan duyduğun cümleleri bana satma. bir gün kendi fikrin olursa geç karşıma konuş.
@@retrogalaksi c++ developerlar high low gibi kıyaslara girmiyor. bu kıyaslara giren adamlardan da bir şey öğrenemezsin.
Kendini çok güzel ifade etmişsin. Tebrik ederim.
Arkadaş 10 numara herhangi bir problem yok da bu yorumlardaki dangalaklara rastlamanızın tek sebebi yazılımın ele ayağa düşüp saygınlığını yitirmesidir. Bu arada şapka yakışmış, sevgiler :)
Çok teşekkür ederim.
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
Stajyer mülakatı da olsa biz öğrenciler için çok tatlı olur :)
Saka mi bu genc arkadasimiz, medior senior arasi gibi anlatiyor.
Arkadasa bir tavsiye, mazeretler haricinde kendi seviyesini daha dusuk gosterecek cumlelerden kacinsin, arkadasimiz cok mutevazi birisi cok belli ama seviyesi Junior'un fazlasiyla uzerinde oldugu o kadar belli ki.
Not: Bu yorumu degerlendirmeyi gormeden yazmistim.
ahahahhaahha lütfen yapıcı yorum yapın arkadaşımıza boş umutlar vermeyelim, teknik mülakatlara girdiğimde bu tür arkadaşlar sadece hevesli fakat teknik ve pratik yönden yetkin olamıyor maalesef kabul etmiyoruz bu arkadaş gibilerini. Junior değil yazılımla tanışma esnası developer diye adlandırıyoruz bu tarz arkadaşları
@@eASEGE sen neyin egosunu yaptın ki şimdi? 18 yaşında birine göre fazlasıyla gelecek vadeden bir arkadaş. Mülakatları da ahahahah diye mi cevaplıyorsun?
@@eASEGE Seviyemin Junior üstü olmadığını ben de biliyorum. Yorumunuz fazlaca kibir ve haset içeriyor. Yazılımla tanışma esnası developer'dan daha fazlası olduğumu ekseriyetle ifade edebilirim. Kendime uzman dediğim yok ama küçümsediğiniz kadar mülakattan kalacak teknik yönden yetersiz birisi de hiç değilim. Bu arkadaş gibilerini dediğiniz kişiler çok yakın arkadaşlarım oluyorlar, emin olun sizin gibi kişilerle işimiz yok. Zaten sizin gibi HR 'cılar varken işe girmek yokluk içinde evlenmek gibi bir şey. Sizin belki el sürmediğiniz teknolojileri öğreniyor ve kullanıyoruz. Merak etmeyin videoda da dediğim gibi hedefim sizin gibi yıkıcı, gerici firmalarda çalışmak değil. İçiniz rahat olabilir hiç uğramayacağım size ama adımı elbet duyarsınız bu da sözüm olsun:D :D.
@@EduLayer türkiyenin en yenilikçi enterprise uygulamalarını biz geliştiriyoruz hocam, amacım kibir yapmak değil. yorum yapan arkadaşın gaza gelişine güldüm. Seviyeniz yeterli olabilir, fakat pratik olarak iş hayatında işe yarar bir mülakat göremedim bu aşamada. Maalesef 2015'ten kalma teknikler uygulandığı için dalga geçmek zorunda hissettim. Yolun açık olsun
@@EduLayer ayrıca hr değil, yazılımcıyım :)
Mülakatı yapan arkadaş çok sığ bir bakış açısına sahip. C++ ın geçmişte kaldığı düşünce yapısına sahip henüz videonun baslarindayim çok büyük ihtimalle kendisi .Net developer. Bazen bilinmeyeni görmezden gelmek rahatlatır ama gerçeği değiştirmez.
C++ ın hala güçlü bir dil olduğu aşikar, kimse görmezden gelmiyor. C++ ın geçmişte kalması konusu ise bugünün değil yıllardır ortada olan bir konu. Geçmişte kalmış olması eskimiş veya yetersiz olduğu anlamına gelmiyor elbette ama şunu da kabul etmek lazım artık C++ dan daha iyi o işleri yapan diller var.
Onun dışında .Net Developer'larla ilgili bir probleminiz varsa, buyrun konuşalım, detaylandıralım!
@@TechBuddyTR Microsoft teknolojilerinden nefret ediyorum ;)
Onu kullananlar da genelde kalıplara sıkıştırılmış oluyor ve bu çok farkedilebiliyor. (Uzun süre C# kullanmış birinin düşüncesi)
@@SerdarAltin Nefretinizi buraya kusmanıza gerek yok bence. Biz de sizin gibilerden nefret etmeyelim durduk yere :)
Birilerinin nefretinden çekincem yok tabi haklılarsa.
Uzatılır konu da prim kasmak için gelecekler var belli oldu.
Sandboxta iyi eğlenceler.
def to_number(roman):
numbers={
'I':1,
'V':5,
'X':10,
'L':50,
'C':100,
'D':500,
'M':1000
}
total=0
i=0
a=len(roman)
for c in roman:
if i+1 < a:
deger=numbers.get(roman[i])
oncekideger=numbers.get(roman[i+1])
if deger >= oncekideger:
total+=deger
else:
total-=deger
i +=1
else:
total+=oncekideger
return total
print(to_number("MCMVII"))
print(to_number("MMXI"))
print(to_number("XC"))
print(to_number("MCMXC"))
tekrardan mükemmel bir video teşekkürler hocam
leetcode üzerinde problemi şu şekilde çözmüştüm:
def romanToInt(self, s):
sum= 0
index=0
dict1={"I":1,"V":5,"X":10,"L":50,"C":100,"D":500,"M":1000}
dict2={"IV":4,"IX":9,"XL":40,"XC":90,"CD":400,"CM":900}
liste=[]
for i in s:
liste.append(i)
while len(liste) > index:
if index < len(liste) - 1 and liste[index] + liste[index+1] in dict2:
value = dict2[liste[index] + liste[index+1]]
sum += value
index += 2
else:
value=dict1[liste[index]]
sum+=value
index += 1
return sum
dict2 yazmadan da cozum mumkun belki denemek istersin
Hocam iyi çalışmalar diliyorum. Roma rakamı sorusunu yapmayı başardım. Programı kendi github ımda paylaşabilir miyim izniniz olursa?
Tabi ki:)
def to_number(roman):
numbers = {
'I' : 1,
'V' : 5,
'X' : 10,
'L' : 50,
'C' : 100,
'D' : 500,
'M' : 1000
}
total = 0
index = 0
for i in roman:
if index + 1 < len(roman):
if numbers[roman[index]] >= numbers[roman[index + 1]]:
total = total + numbers[roman[index]]
else:
total = total - numbers[roman[index]]
index = index + 1
else:
total = total + numbers[roman[index]]
return total
PHP saçma değildir :) Neden başka dil değil sorusu da junior'a sorulcak normal bir soru değil, ama oltalama sorusu denebilir. Ve başarılıda oldu, oltayada kocaman bir balık geldi. Junior olsam python hype vardı sadece onu denedim beğendim ve devam ettim yanıtı normal olur heralde
Hype'dan dolayı bir dile başlamadım. Başladığım diller Hype'landı. Bir örneği de Flutter. Adı duyulmadığı sıralar Flutter yazmaya başladık, BTK Akademi'nin çıkması ile piyasa Flutter developer ile dolmaya başladı. Golang'in hypelanması da yine 2020 sonu 2021 başı özellikle bizim ülkede her yerde yer edinmeye başlamıştı. Bahse konu 2018 yılında günümüzdeki kadar Python hype'ı yoktu. Olsaydı, PHP ile işim olmazdı ve tekrarlayayım benim için saçma bir tercihti.
Hayır oltalama bir soru değildi. Bu kadar fazla dil ile ilgilenen birisinin bir dilde karar kılmasını sağlayan sebebi anlamaya çalışıyordum
Bunların sürekli videosu gelse
Keşke sürekli mülakat yapabileceğimiz adaylarımız olsa 😅
Harikasınız
Discord kanalına nasıl katılabilirim?
RUclips videolarımızın altında davetiye linki mevcur
Bu arkadaş bana mülakata gelse işe almam kesinlikle.
Peki, gelirse almayın
@@TechBuddyTR yok abi gelmem ne işim var bu ucubenin firmasında.
iyi ya daha liseyi bitirmeden mülakatı geçiyoruz .d
Maalesef öyle değil .d
@@8547_ .d
Javascript de yaptım daha eksikleri var ama isteyen arkadaşlar üstünde çalışsın diye buraya bırakıyorum,
function toNumber(roman){
var numbers = {
'I': 1,
'V': 5,
'X': 10,
'L': 50,
'C': 100,
'D': 500,
'M': 1000
}
total = 0;
// if roman is null then throw error
// if a char replicate 4 times then throw error
// I
// II
// III
// IV
// VI
// VII
// VIII
// IX
// X
if(roman.length == 1)
{
return numbers[roman];
}
roman = roman.split('');
for(var i = 0; i < roman.length; i++){
var nextChar = roman[i+1];
var currentChar = roman[i];
var nextValue = numbers[nextChar];
var currentValue = numbers[currentChar];
if(nextValue > currentValue){
total += nextValue - currentValue;
i++;
}else{
total += currentValue;
}
}
return total;
}
dayı cevap var zaten sonda yine de nasıl yanlış yazdın
Ben mülakatta 2nci bir ekran açıyor, yanımda da bir arkadaş oluyordu. Arkadaş yapay zekaya soruları yazıyor cevapları alınca benim ekranın üstündeki küçük lcd ekrana düşünce çatır çutur cevaplıyordum. Sonra Amerika’da çalıştım C, C++, C#, Python, R, Rust, Haskell, Java, JavaScript, React, GoLang öğrendim burda kurslarda. Nvidia kodlama öğrenmeyin artık yapay zeka 🤖 o işi halletcek deyince bıraktım kodlamayı. Şimdi aşçılık kurslarına gidiyorum acayip zevkli ve parası çok iyi. Tavsiye ederim.
chat gpt > sayıları roma rakamına dönüştüren fonksiyonu yazar mısın Copy Paste
Fikir versin diye yapılabilir doğrudan kullanmak güvenliksiz.
@@EduLayer haklısın ama ben internette çok kolay elde edebileceğim şeylere vakit harcamayı vakit. kaybı olarak görüyorum ekstra çaba gerektiren şeyleri zaten kendim hallediyorum
@@kubicix1265 Evet ne yaptığını bildiğin sürece copy-paste önemli bir unsur değil. (yeterki ne yaptığınızı bilin)
Sizce burada gerçekten bir yazılımcının veya adayının bir sorunun cevabını bulup bulamayacağını mı sorguluyoruz?
Elbette birçok şeyi ezberlemeye gerek yok, temel mantık oturduktan sonra bu tarz şeyler bir şekilde elde edilir. Benim burada yapmaya çalıştığım şey adayın gerçekten o temele sahip olup olmadığını anlamaya çalışmak
yazilimclar ne kadar rahat, adam ters sapka ile mulakata giriyor. Ben takim elbise kravatla is bulamiyorum :D
Bir tek sizin takılmanız da manidar. Özel bir durumdan ötürü olduğu ifade edildi başta.
Run'a basmaktan korkmuş biraz, printleri test case gibi düşünüp en başından beri çalıştırarak gitse halledermiş. Hatta logic'in içine de emin olunmayan kısımlara assertion koyulabilir.
Interviewer'a göre değişir tabi bu fakat zorlanılan bir problemde hafif TDD pratiği görmek benim için + puan olurdu, siz ne düşünüyorsunuz?
Soruya dikkatimi veremedim. ADHD'liyim. Yapmam gereken yordamın adım adım güzergahını not alsaydım sanırım kafam karışmayacaktı ama tabii konuya aşinalık da yok, heyecan da bir yandan.
Karşı taraftan onay alarak bunu çözmek mantıklı bir yaklaşım olabilir ama özellikle junior mülakatlarında çok fazla test yazıyor olmak pek iyi olmayabilir. Bu sorunun kapsamı, etki analizi, nasıl kodlama yapılacağı konusunda eksiklerinin olduğu düşünülür.
@@user-mplfibz yorum için teşekkürler
Teşekkürler.
def to_number(roman):
numbers = {
'I': 1,
'V': 5,
'X': 10,
'L': 50,
'C': 100,
'D': 500,
'M': 1000,
}
roman_list = list(roman)
total = 0
real_i = -1
for _ in range(len(roman_list)):
real_i += 1
try:
char_1 = roman_list[real_i]
except IndexError:
return total
try:
char_2 = roman_list[real_i + 1]
except IndexError:
total += numbers[char_1]
return total
if numbers[char_1] < numbers[char_2]:
total += numbers[char_2] - numbers[char_1]
real_i += 1
continue
total += numbers[char_1]
return total
print(to_number("MCMVII"))
print(to_number("MMXI"))
print(to_number("XC"))
print(to_number("MCMXC"))
merhaba TechBuddy, bence iyi bir mülakat olmadı. Pat diye junior'a roma rakamlarını içeren bir algoritma sordun... Çocuk doğal olarak öncelikle roma rakamı mantığını bilmeli ki, ona göre yorum yapabilsin... Kolaydan zora doğru gidilen sorular silsilesi olsa, bu arkadaş daha iyi performans sergilerdi, diye düşünüyorum.
Proje ödevi olarak gönderilen sorularda, daha önceden bilgi vermezler. Soruyu sorarlar süreniz başlar. Olabildiğince konu hakkında bilgi vermeye çalışırlar.
Adayı zaten bildiği bir konuda test etmek çok doğru sonuçları vermeyebilir.
@@TechBuddyTR Mülakata giriyorsunuz ve bir anda size nasil calistigini bilmediginiz bir sistem hakkinda soru soruluyor... sonuc hüsrandir ve degerlendirme sistemi yanlistir. Basit anlatayim: "Roma rakam sistemi şöyle çalisir, bununla ilgili bir script yazin veya izahtan sonra şu kodu okuyun" dense, sorun kalmayacak...Videodaki mülakat saglikli sonuç vermez. NOKTA
@@gutZuWissen_jetzt Soruya başlamadan önce zaten konuyu açıkladım kendisine. Roma rakamı nasıl çalışır diye anlatmaya çalıştım. Kaldı ki bu bir algoritma sorusu. Adına roma rakamı demesek bile böyle bir algoritma istiyoruz diye gayet de sorabiliriz
@@TechBuddyTR neyse, size katilmiyorum. Selamlar
@@gutZuWissen_jetzt teşekkürler yorumlarınız için
json parser yazmak zor degil ki? her virgulden sonra gelen ilk harf ne ise ona gore kontrol edicez. iterable dedigi seyler zaten bir tane var. LISTE. geri kalanlari key value seklinde yani elimizde 2 durum var.
1- "
2- [
2. durumda olursa bidaha icini yoklamamiz gerekebilir burada rekursif birseyler yazilabilir. ic ice [ leri arar ve bulur. ona gore setlemeyi yapar. zor degil bence ya
zor olduğunu söylemedim. videoda sorulan doğrudan şuydu: "bir json serializer yazarken dikkat edilmesi gereken nedir?" buna verdiğim cevap recursive yapıları doğru işleyebilmektir.
@@EduLayer tebrik ederim. güzel mülakat.
Çocuk söz kesme alışkanlığını bıraksa daha başarılı olabilir.
Bu bir alışkanlık değil.
Çoğu zaman söyleyeceğim şeyleri geldiği zaman söylemediğimde unutuyorum. Yoksa çoğu zaman karşımdaki kişiyi dinleyip cebap veririm.
Bir de google da hafif bir gecikme oluyor birbirini duyma konusunda. Çok dert değil bence
arkadaşın teknik iyi ama allah aşkına biraz ingilizce de çalışsın :D
Teşekkür ederim.
Kimsenin ingilizce bilgisini ölçmek veya değerlendirmek bize düşmez, bu konuda uzman değiliz. Ayrıca bu iş ilanı ingilizce gerektiren bir ilan olmuş olsaydı, belki İngilizcesi üzerine de bir şeyler söylenebilirdi ama yanlışlarını değil, hangi kelimeleri söylerken anlayıp anlamadığımızı
C++ low level değil.
low level kardesim. Orta seviye muhabbeti resmiyette yok. Sadece yazilimcilar arasinda donen bir terim. C ailesi dusuk seviyedir. C# C++ C diye gidiyor.
Bence de öyle. C low level ama.
Bence low level. Memory management ı developerın yaptığı her dil bence low level olarak geçiyor
hocam smart pointerlar çıktı biz de artık delete kullanmıyoruz neden dışlıyorsunuz :D@@TechBuddyTR
PHP deyince gülmeleri kadar saçma video'da. Tüh size be. 500 milyondan fazla web site php ile yapıldı.
Php ile 500 milyon web sitesi yapılmadı denmedi zaten videoda. Php denilince gülmemizin sebebi ise, php için uzun zamandır yapılan şakalardır. Videoyu saçma bulmanızın sebebini de belirtebilirseniz, bir sonrakinde daha dikkatli olmaya çalışalım. Söylemezseniz de 'Tüh size be'
@@TechBuddyTR Hocam, çirkin yorum için özür dilerim, kusura bakmayın. Sadece biraz sinirlendiğim için öyle yorum yapmakta acele ettim, yoksa video gayet güzel olmuş, ellerinize sağlık. Emektar PHP'mize saldırılınca bende defensif moda geçip karşı saldırıya geçiyorum çünkü; 4 yıl boyunca bana epey para kazandırdı, tamamen insanlığa ücretsiz bir hizmet gibi PHP! Teşekkür ederim, anlayışınız için. 🤧
@@adama.7427 :) Teşekkür ederim geri dönüş için. Tüm diller canımız ciğerimiz
@@TechBuddyTR PHP IT dünyasında her zaman favori dillerimden biri olmuştur. PHP8 ile birlikte syntax'ı daha modern ve zarif bir hale geldi. C'ye olan yakınlığı açık kaynaklı yapısı ve tamamen ücretsiz oluşu bu dili benim için vazgeçilmez kılıyor. Linux ortamlarında web geliştirme alanında hala güçlü bir konumda. Phalcon framework ile bu gücü ve esnekliği bir üst seviyeye taşıyor. Sevgiler hocam, çalışmalarınızda başarılar dilerim.
Doğru. Firmalar tekrardan PHP'ye dönüş yapıyorlar.
RomanToInt= /**
* @param {string} s
* @return {number}
*/
var romanToInt = function(s) {
const hashT = {
"I":1,
"V":5,
"X":10,
"L":50,
"C":100,
"D":500,
"M":1000,
}
let total = 0;
for(let i =0;i