C ve C++ Yazılım Geliştiriciler için Yurtdışı Kariyer Olanakları ve Görüşme Teknikleri‏ Altan Alpay 4/6/2017 CSD C/C++ Altan Alpay.

Slides:



Advertisements
Benzer bir sunumlar
Bilgisayar Ağları ve İnternet
Advertisements

Ders İçeriği Ağaç Veri Modeli Tanım ve Gerçekleştirim İkili Ağaç
Yazılım Geliştirme ve Java
MIT503 Veri Yapıları ve algoritmalar
Nesnelerin Özellikleri. - Üye nesneler - friend belirtesi - Nesnelerin operatörlere yüklenmesi - this yerel (lokal) değişkeni - inline tanımlı üye fonksiyonlar.
Değişkenler ve bellek Değişkenler
DÖVİZ KAZANDIRICI HİZMET TİCARETİNİN DESTEKLENMESİ HAKKINDA TEBLİĞ
Yığın ve Kuyruk.
Veri ve Veri Yapıları Genel olarak bilgisayarlar.
Ders İçeriği Bağlantılı Liste İki Yönlü Bağlantılı Liste
04/02/10 Django Web Uygulamaları Geliştirmede Çağdaş bir Yaklaşım.
Nesneye Dayalı Programlama
Bilgisayar Ağlarına Giriş
BPR152 ALGORİTMA VE PROGRAMLAMA - II
SANAL FONKSİYONLAR VE ÇOK BİÇİMLİLİK
Bölüm 10 Yapılar ve Birleşimler
SOME-Bus Mimarisi Üzerinde Mesaj Geçişi Protokolünün Başarımını Artırmaya Yönelik Bir Algoritma Çiğdem İNAN, M. Fatih AKAY Çukurova Üniversitesi Bilgisayar.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 6: Sınıflar
İŞLETİM SİSTEMLERİ KONTROL: PROF.DR.ASAF VAROL DÖNE KARAOĞLAN BİLGİSAYAR SİSTEMLERİ Bilgisayar Öğretmenliği (Gece) - 4.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Java Programlama Koleksiyon(Collection) Sınıfları
Mobil Uygulamalar ve Bilgi Hizmetleri Orçun Madran
1 YASED BAROMETRE 18 MART 2008 İSTANBUL.
Yapısal Program Geliştirme – if, if-else
IT 504 İnternet ve Web Programlama Tanıtım Yrd. Doç. Yuriy Mishchenko.
Veritabanı Temel Kavramlar ve
While Döngüsü Tekrarlama deyimidir. Bir küme ya da deyim while kullanılarak bir çok kez yinelenebilir. Yinelenmesi için koşul sınaması döngüye girilmeden.
Veri Yapıları Ve Algoritmalar
MIT503 Veri Yapıları ve algoritmalar Veri ağaçları
SINIFLAR VE DİNAMİK BELLEK YÖNETİMİ
Görsel C# Programlama Güz 2009 (6. Hafta).
ODTÜ Bilgisayar Mühendisliği
Nesne Yönelimli Programlama Dersi
ORTA DOĞU TEKNİK ÜNİVERSİTESİ Sürekli Eğitim Merkezi www. sem. metu
YAZILIM TABANLI RADYO UYGULAMALARI
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
EYLÜL 2014 İŞLETİM SİSTEMLERİ Bilgisayar Uygulamaları.
BİLGİSAYAR AĞLARINA GİRİŞ
Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C ++ Veri.
VERİTABANI MİMARİSİ Talip Hakan ÖZTÜRK Bank ASYA – ORACLE DBA
SINIFLAR VE DİNAMİK BELLEK YÖNETİMİ VE SINIFLARIN DİĞER ÖZELLİKLERİ Yılmaz Kılıçaslan.
Bilgisayar Ağlarına Giriş. Tarihsel Gelişim Main- frame OS yoktu Batch Systems (Toplu İşlem) Birden fazla işin arka arkaya çalıştırılması.
Proje Konuları.
BİLG 121 AĞ TEKNOLOJİLERİNİN TEMELLERİ
BİLGİSAYAR AĞLARINA GİRİŞ
KALITIM Yılmaz Kılıçaslan.
SANAL FONKSİYONLAR VE ÇOKBİÇİMLİLİK Yılmaz Kılıçaslan.
BİLİŞİM TEKNOLOJİLERİ ALANI
BİLG 121 AĞ TEKNOLOJİLERİNİN TEMELLERİ Öğr. Gör. Mustafa SARIÖZ.
BTÖ 306 Bilgisayar Ağlarına Giriş Dr. Şirin Karadeniz Çelebi Uluyol.
İKMAP İnternet 1 Ders Notu
Bilgi ve İletişim Teknolojisi
SQL’ e Giriş Uzm. Murat YAZICI.
Mobil Uygulama Geliştirme
Chapter 5: Threads (İş Parçacıkları)
Veritabanı Yönetim Sistemleri - I
Almanya'da Diploma Denklik
KIRKLARELİ ÜNİVERSİTESİ
Veri yapıları Hafta3 Dizi Yapıları.
JAVA 1. GİRİŞ & TARİHÇE Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmıştır. Açık kodlu. Nesneye yönelik. Düzlemden.
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
Sunucu İşletim Sistemleri-2
haZIRLAYAN: ELİF KARAOĞLU
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H11
Bilgisayar Ağlarına Giriş
C++ Programming:. Program Design Including
Bilgisayar Mühendisliğine Giriş
İçerik Tarihçe Hizmetlerimiz ve Çözümlerimiz Organizasyon Yapısı
NX SIEMENS NX CAD DÖKÜMAN 2019.
Bilişim Teknolojileri Meslek Seçimi ve Ücretler (2019)
Sunum transkripti:

C ve C++ Yazılım Geliştiriciler için Yurtdışı Kariyer Olanakları ve Görüşme Teknikleri‏ Altan Alpay 4/6/2017 CSD C/C++ Altan Alpay

Özet C ve C++ açısından Yurtdişi İş Piyasalarına Genel Bakış Amerika İngiltere ve İrlanda Almanya   İşe Alınma Süreçleri Özgeçmiş Hazirlanmasi Kariyer Siteleri ve Başvuru Telefon Görüşmesi (Phone Screning) Yüzyüze Görüşmeler (On-Site Interview) Teklif Aşaması ve Ücretlendirme Referans Kontrolu ve Geçmiş Araştırması Göçmenlik, Çalışma İzni ve Vize Alınması 4/6/2017 CSD C/C++ Altan Alpay

Özet İş görüşmelerinde sık sorulan sorular: C ve C++ Soruları Veri Yapilari (Data Structures)  STL (Standart kütüphane) Algoritmalar ve Karmaşıklık (Complexity) Analizi Nesneye Dayalı Tasarım ve Tasarım Desenleri (Design Patterns) TCP/IP ve Ağ Programlama Çoklu İş Parçacıkları (multi-threading) ve senkronizasyonu  Unix/Linux Programlama  İşlemler Arası Haberleşme Mekanızmaları (Interprocess Communication) Gömülü Sistemler 4/6/2017 CSD C/C++ Altan Alpay

UYGULAMA Programcılığı Dünyada C/C++ Nerelerde Kullanılıyor? Sistem Programlama ve Gömülü Sistemler Bilişim Altyapısı (İşletim Sistemiler, Veritabanlari) Telekom Altyapısı (Router, Baz İstasyonu, Santral) Mobil Cihazlar (Cep telefonu, USB Modem, iPad) Havacılık Otomotiv Finans (Borsa İşlemleri) İnternet (Google, Yahoo, MSN) Savunma Sağlık Ölçeklenme (Scalability) UYGULAMA Programcılığı 4/6/2017 CSD C/C++ Altan Alpay

Ölçeklenebilirlik (Scalability) Donanıma Yakınlık (Hardware) Esneklik Neden C/C++? Performans Kontrol Ölçeklenebilirlik (Scalability) Donanıma Yakınlık (Hardware) Esneklik 4/6/2017 CSD C/C++ Altan Alpay

Neden gitmeli? Dünya Standartlarında Tecrube edinmek Kalibrasyon Komplex ve Heyecanli Projelerde Çalışmak Yabancı kültürleri tanımak Yabancı Dilini Geliştirmek Dövizli Askerlikten faydalanmak (3 yıl gerekli) 4/6/2017 CSD C/C++ Altan Alpay

Neden dönmeli? Türkiye’deki Yazılım Sektorunun Geliştirmek Dünya Standartlarına Yaklaştırmak Komplex Projelerin Türkiye’de yapılması için gereken İnsan kaynaklarını sağlamak 4/6/2017 CSD C/C++ Altan Alpay

C/C++ Piyasalara Genel Bakış Ülke Büyüklük Derinlik Ücret Vize Uzaklık Türk Görüşme ABD Orta Zor Uzak Az Çok Zor Almanya Yakın Çok Kolay İngiltere İrlanda Fransa Çok Yakın 4/6/2017 CSD C/C++ Altan Alpay

Amerika Başlıca Yazılım Merkezleri Silikon Vadisi ve Çevresi (San Francsico) Boston ve Çevresi (Route 128) New York ve New Jersey (Finans ve Telekom) Dallas (Telekom ve Gömülü Sistemler) Seattle (Microsoft, Amazon, Boeing) Raliegh, NC (Research Triangle Park) San Diego (Wireless, Qualcomm) Washington, DC (Devlet, Güvenlik ve Savunma) 4/6/2017 CSD C/C++ Altan Alpay

Amerika Kariyer Siteleri İş Arama Motorları Monster Dice Hot Jobs (Yahoo) JobServe İş Arama Motorları Simply Hired Indeed 4/6/2017 CSD C/C++ Altan Alpay

Amerika Artılar Büyük ve Geniş Yelpazeli Yazılım Piyasası Yenilikçi ve Girişimci Eğitim olanakları ve Üniversiteler (MIT, Harvard, Stanford, Berkeley) Eksiler Ücretlerdeki ve Refah Seviyesinde Gerileme Hintli ve Çinli Baskısı Çalışma İzni Yıllık Kotalara Tabi (65,000 adet) Türkiye’den Uzaklık (12 saat – 18 saat uçuş) Türk nufusun az olması 4/6/2017 CSD C/C++ Altan Alpay

Almanya Başlıca Yazılım Geliştirme Merkezleri Munich (Telekom, Otomotiv, Gömülü) Düsseldorf/Köln (Telekom) Frankfurt (Finans) Stutgart (Otomotiv) Nürnberg (Telekom ve Gömülü) Berlin, Hamburg ve Aachen diğer merkezler Başlıca Sektorler ve Oyuncular Gömülü Sistemler (Bosch, Siemens) Telekom (Nokia Siemens, Ericsson, Rohde&Swartz, Infinion, Comneon) Otomotiv (BMW, VW, Mercedes, Porsche) Sağlık (Siemens) 4/6/2017 CSD C/C++ Altan Alpay

Almanya Avantajlar Büyük ve Kurumsal Şirketler Genelde Hard-Products (Araba, Tren, Cep telefonu) Projelerde başka mühendislik dallarıyla etkileşim (multi-disciplinary) Uzun Soluklu Projeler İş Güvenliği ve Sendikal Haklar Danışman ve Sözleşmeliler için Yüksek Ücretler Yukarıdan Aşağı Yönetim Yaklaşımı (Bottom-Up) Uzun Tatiller (Yaklasık 8 hafta) Türkiye’ye yakınlık Türklerin çok olması (Market, TV, Sinema, Gazete, Uçuş, Dernek) Eksiler Kadrolu Çalışanlar için Düşük Ücret Türklerin çok olması Girişimcilik ve Serbest Çalışma Kültürel olarak sevilmez Kötü Hava Şartları Dil Problemi 4/6/2017 CSD C/C++ Altan Alpay

İngiltere / İrlanda İngiltere İrlanda JobServe.co.uk Monster.co.uk Londra => Finans ve Bankacılık Cambridge / M11 M4 Corridor Silicon Glen (İskoçya) HSMP (Kalifiye Göçmen Programı) İrlanda Dublin Cork Yeşil Kart Programı (IT çalısanları için 2 sene kısıtlamasız çalışma vizesi) JobServe.co.uk Monster.co.uk 4/6/2017 CSD C/C++ Altan Alpay

Özgeçmiş Hazırlanması Amerika Resume Avrupa Curriculum Vitae Üst Düzey Executive Summary Danışman Bio 4/6/2017 CSD C/C++ Altan Alpay

Amerikan Tipi Özgeçmiş (Resume) Resume’ye konulmayacaklar (Önemli!!) Fotoğraf Cinsiyet Doğum Tarihi Doğum Yeri Medeni Durum Çocuk Sayısı Vatandaşlık Askerlik Göçmenlik Sürücü Ehliyeti Üniversite Giriş Sınavı Sonuçları Hobi olarak ‘reading’ 4/6/2017 CSD C/C++ Altan Alpay

Avrupa Tipi Özgeçmiş (CV) CV’ye konulacaklar Fotoğraf (Özellikle Almanya’da) Cinsiyet Doğum Tarihi Doğum Yeri Medeni Durum Vatandaşlık Çalışma İzni Sürücü Ehliyeti 4/6/2017 CSD C/C++ Altan Alpay

Özgeçmiş Hazırlama Her Ülke için Ayrı Özgeçmiş Amerika için Resume Avrupa için CV Her Pozisyona Göre Ayrı Özgezmiş Yazılım Geliştirici (Software Engineer / Developer) Test / Yazılım Kalite Mühendisi (Test / QA Engineer) Yazılım Mimarı (Software Architect) Sistem Mühendisliği (System Engineering) Project Manager Product Manager Program Manager JAVA / C++ açısından farklı CV’ler 4/6/2017 CSD C/C++ Altan Alpay

Özgeçmiş Yapısı İletişim Bilgileri Hedef (Objective) (önemli!) Skills and Qualifications Tablosu (En Önemli Kısım!!) Skill İsmi (C/C++, Java, Network Programming etc) Detayları (C/C++ => STL, Templates, Boost, ACE) Bilgi Derecesi (Expert, Beginner, Medium) Çalışma yılı (3 yıl, 5 yıl) İş Tecrubeleri (Sondan başa doğru) Pozisyon (Title/Role) Projeler ve görev tanımı Kullanilan Teknoloji (Environment/Technologies) Eğitim (En sondan başlayarak) Lisans ve Yüksek Lisans (Lise ve İlkokul yazmayın) Yazılımla alakalı aldığınız kurslar 4/6/2017 CSD C/C++ Altan Alpay

Örnek Özgeçmişler 4/6/2017 CSD C/C++ Altan Alpay

Örnek Özgeçmiş Software Engineering (C/C++, Unix and Networking) Objective: To design and develop distributed systems in the problem domains of Finance. Programming Languages/Development Technologies/Platforms OOA/D: C/C++, UML, STL, ACE / TAO, Boost, Design Patterns Unix Programming: Linux, IPC, sockets, pthreads, Solaris, HPUX Network Programming: TCP/IP, UDP, SCTP, Sockets, ACE/TAO, CORBA Relational Databases: SQL, MySQL,Informix, TimesTen, Oracle OCCI Configuration Tools: Clearcase, SourceSafe, P4, SCCS, CVS, SVN 4/6/2017 CSD C/C++ Altan Alpay

Örnek Özgeçmiş Nokia Networks, Irving, TX April 2000 - April 2001 Sr. Consultant Short Message Service Center (SMSC) for TDMA Participated in the feasibility studies, system and subsystem specification design and implementation of an SMPP enabled SMSC prototype for TDMA (ANSI-136). I focused to the implementation of store-forward subsystem by utilizing C++/STL development tools on HP UNIX (HP-UX) environment. I used HP OpenCall SS7 Stack to handle IS-41D MAP over TCAP. Used OSS ASN.1 Compiler. Informix and its C/C++ SDK used as Relational Database.   mPosition Gateway Mobile Location Center (GMLC) Ported and modified Alarm, Logging and Billing Daemons from Nokia SMSC to Nokia mPosition’s GMLC for GSM. Used Rational Rose and Visio for UML Modeling and ClearCase for source control. Technologies: SMSC, HP-UX, GMLC, C++, STL, Informix, TCAP, IS-47 MAP, HP OpenCall, SMPP 4/6/2017 CSD C/C++ Altan Alpay

Örnek Özgeçmiş Nokia Networks Sr. Consultant 4/6/2017 From 2000 April To 2001 April (1 Year) Technologies SMSC, HP-UX, GMLC, C++, STL, Informix, TCAP, IS-47 MAP, HP OpenCall, SMPP Nokia Networks Dallas, TX Sr. Consultant Contracted through Tangent International (SMSC) for TDMA Participated in the feasibility studies, system and subsystem specification design and implementation of an SMPP enabled SMSC prototype for TDMA (ANSI-136). I focused to the implementation of store-forward subsystem by utilizing C++/STL development tools on HP UNIX (HP-UX) environment. I used HP OpenCall SS7 Stack to handle IS-41D MAP over TCAP. Used ASN.1 Compiler. Informix and its C/C++ SDK used as Relational Database. mPosition (GMLC) Ported and modified Alarm, Logging and Billing Daemons from Nokia SMSC to Nokia mPosition’s GMLC for GSM. Used Rational Rose and Visio for UML Modeling and ClearCase for source control. 4/6/2017 CSD C/C++ Altan Alpay

Davranışsal Özellikler Leadership (Liderlik) Tutarlılı (Integrity) Analytical Thinking Problem Çözme (Problem Solver) İş Bitirici (Getting Things Done) Detaycı (Details Oriented) Çabuk Öğrenen (Quick Learner) Work without supervision (Bağımsız çalısabilen) 4/6/2017 CSD C/C++ Altan Alpay

Telefon Görüşmesi (Phone Screning) Görüşme Süreci Telefon Görüşmesi (Phone Screning) 30 dk 1-2 mühendis Yüzyüze Görüşme 1 Gün 6-7 Kişi İnsan Kaynakları Teklif Paketi 4/6/2017 CSD C/C++ Altan Alpay

Telefon Görüşmesi 30 dakika İletişim ve Yabancı Dil Temel C ve C++ Soruları Hedef ve Beklentiler Pozisyonun ve Şirketin tanıtımı 4/6/2017 CSD C/C++ Altan Alpay

Yüzyüze Görüşme Toplamda 1 Gün 5-6 saat 5-6 kişi + üst düzey yönetici + İK 30-45 dakika / görüşme 10 dk geçmiş projeler hakkında konuşma 10 dk bilgi veya tasarım soruları 15-20 dk kodlama Son derece Teknik Son derece Detay Tüm Görüşmelerde Kod yazmayı bekleyin (gün sonunda 5-6 algoritma yazacaksınız) Beğenilirseniz gün sonunda Yönetimle görüşme ihtimali 4/6/2017 CSD C/C++ Altan Alpay

Teklif ve Ücretlendirme Senelik Brüt Ücret Amerika => $80k - $120k (%90 dağılım) İngiltere => 30k – 60k pound İrlanda => 60k - 90k EUR (%90 dağılım) Almanya => 50 - 80k EUR (%90 dağılım) Bonus (ikramiye) Yılda 1 veya 2 kere olmak üzere Toplamda Senelik Ücretin %5 - %40 arası %10’u gectiği çok nadirdır 4/6/2017 CSD C/C++ Altan Alpay

Teklif ve Ücretlendirme Hisse Senedi İkramiyesi (Stock Awards) Genelde 1 sene bekleme süresi Hisse Senedi Opsiyonları (Stock Options) İşe başladığınız günün hisse senedi fiyat (strike) baz alınarak hisse senedi satın alma hakkı Genelde 4 yıl bekleme süresi (her yıl %25 alabiliyorsunuz) Örnek: 1/1/2010 tarihinde YHOO => $16.00, 10,000 opsiyon verildi, 1/1/2011 tarihinde YHOO $26 olursa, aradaki fark $10 X %25 (2500 adet) = $25,000 Hisse Senedi Satin Alma (Stock Purchase Plan) Piyasa değerinin %15 altına yıllık maaşınızın %25 kadar. Diğer (Benefits) Sağlık Sigortası Tatil (2 – 4 hafta Amerika, Almanya: 8 hafta, UK: 6 hafta) Okul ve Eğitim parasi (Yıllık $5,000 civari) Emeklilik fonlarına katkı %1 - %5 arası 4/6/2017 CSD C/C++ Altan Alpay

Teklif ve Ücretlendirme AYLIK BRÜT ÜCRET HESAPLAMASI Faktorler (Bekar/Evli, Çocuk, Eyalet ve Şehir Vergisi, Vergi Dilimi) Manhattan’da Bekar => $100k  $5,140.28 aylık http://www.paycheckcity.com/ YAŞAM PAHALILIĞI INDEKSİ Manhattan  Dallas $100k  $42k http://cgi.money.cnn.com/tools/costofliving/costofliving.html http://www.bankrate.com/calculators/savings/moving-cost-of-living-calculator.aspx 4/6/2017 CSD C/C++ Altan Alpay

Referans ve Geçmiş Araştırması Profesyonel Referansların Kontrol Edilmesi Mutlaka 2-3 referans aranır Sadece Profesyonel İlişkiniz olan kişiler referans olur (eski çalışma arkadası veya yönetici) Alakasız kişiler referans olamaz (hoca, emmi, buddy, babamin arkadası zırt holding CEOsu) Referanslar Özgeçmiş’e yazılmaz, istenildiğinde verilir Özgeçmiş araştırması Sabıka Kaydı Çalıştığınız tüm şirketlerin aranıp çalışma tarihleriniz ve pozisyonlarınız kontrol edilir Diploma ve Transkriptleriniz Okulunuzdan kontrol edilir Yani PhotoShoplamayın!!! 4/6/2017 CSD C/C++ Altan Alpay

Göçmenlik ve Çalışma İzni Prensip olarak Şirketin Sponsorluğu esastır Amerika => H1b Gecici Kalifiye İşçi Vizesi 6 seneye kadar Her Yıl 65,000 Kota 1 Nisan’da Başvurular Başlar 1 Ekim’de Çalışmaya Başlanır Ağustos – Ekim arası optimum İş arama zamanı İşlemler 1-2 ay surebilr Sürebilir 4/6/2017 CSD C/C++ Altan Alpay

Göçmenlik ve Çalışma İzni İngiltere => HSMP High Skilled Migration Programme Puan Tabanlı (70/100 barajı var) Sponsor gerekmiyor, İşveren bagımsız Başlangıçta 2 + 2, sonra otomatik süresiz oturuma dönüşür Türk vatandaşlarından başvuru ücreti alınmıyor TOELF gerekiyor İrlanda => Green Card Programı En 60,000 EUR maaşlı teklif alan profesyonelleriçin Başlangıçta 2 sene ve sonra otomatik süresiz oturuma dönüşen Almanya => Yüksek Kalifiye Sınırsız Oturum Programı En 65,000 EUR maaşlı teklif alan profesyonelleriçin Direk baştan süresiz oturum 4/6/2017 CSD C/C++ Altan Alpay

Soru Tipleri Bilgi Soruları Tecrübe Soruları Kodlama Soruları Tasarım Soruları Hata (bug) Soruları 4/6/2017 CSD C/C++ Altan Alpay

C Soruları (bellek) C bellek türleri char* getString( ) { Global / Statik Değişkenler Yığıt (Stack) / Otomatik Değişkenler Heap / Dinamik Değişkenler char* getString( ) { char* str = “test”; return str; } char* getString( ) { char str[100] = “test”; return str; } 4/6/2017 CSD C/C++ Altan Alpay

C Soruları volatile keyword nedir? Niçin kullanılır? struct a {} seklinde tanimlanmis yapinin boyutu nedir? static kelimesi hangi anlamlarda kullanilir? Alloca static & global variables const char* ve const char const* farki 4/6/2017 CSD C/C++ Altan Alpay

C Soruları C içinden C++ functionlarini nasil cağırabiliriz? Bir tam sayinin bitlerini nasil sayariz? *magic() = 5; #define kullanirken dikkat edilmesi gerekenler? Sonsuz döngü tanımlayınız? const int *a; int * const a; int const * a const; 4/6/2017 CSD C/C++ Altan Alpay

C Soruları (Kodlama) ReverseString strcpy (string kopyalama) strlen (sayma) strcmp (karşılaştırma) strstr (alt string bulma) atoi itoa Bit sayma ve diğer bit işlemleri 4/6/2017 CSD C/C++ Altan Alpay

C Soruları (Bit İşlemleri) Bir tamsayının bitlerini sayın Bit kaydırıp & operatorunu kullanarak Tablo kullanarak İki tam sayıyı geçiçi bellek kullanmadan oldukları yerde (swap) yer değiştirin (XOR) Aynı bit sayılı tam sayıların bulunması 4/6/2017 CSD C/C++ Altan Alpay

C++ Soruları (Constructors) Constructor’dan exception atılırsa? Initialization List Kopyalama constructor Explicit kelimesi Assignment Operator RAII Kavrami 4/6/2017 CSD C/C++ Altan Alpay

C++ Soruları (Destructors) Sanal Yıkıcı nedir? Niçin kullanılır? Yıkıcı içerisinden exception fırlatılırsa nesne’nın durumu ne olur? Türetilmiş nesnelerde Yıkıcıların çağırılma sırası nasıldır? Bir dizi silinirken elemanlar hangi sıra ile silinirler? class A {}; A* a = new A[10]; delete a; Exception & destructor ilişkisi 4/6/2017 CSD C/C++ Altan Alpay

C++ Soruları (Inheritance) struct class farkı? Yapıcı ve Yıkıcıların çağırılma sıralaması Nesne’nin içerdiği değişkenlerin oluşturulma sırası Çoklu türetme (multiple inheritance) Çoklu türetmelerde türeme sirası İnitialization list 4/6/2017 CSD C/C++ Altan Alpay

C++ Soruları (Inheritance) Private Inheritance ne anlama gelir? Friend kelimesi ve kullanimi (sinifsal ve fonksyon bazinda) Mutable kelimesi JAVA’daki Interface kavramını C++’da nasil uygulayabiliriz? 4/6/2017 CSD C/C++ Altan Alpay

C++ Soruları (Operator Overloading) Function overloading ve overriding farki? Hangi operatorler overload edilemez? Pre/Post increment farki Pre/Post increment performans karsilastirmasi  Overload edilemeyen operatorler: .  ?: Sizeof :: ** 4/6/2017 CSD C/C++ Altan Alpay

C++ Soruları (casting) dynamic_cast<> (en önemlisi) Hangi hallerde NULL döner? Hangi hallerde exception atar? static_cast<> const_cast<> reinterpret_cast<> 4/6/2017 CSD C/C++ Altan Alpay

C++ Soruları (const) const kelimesi kaç değişik anlamda kullanilabilir? const-overloading mutable kelimesi 4/6/2017 CSD C/C++ Altan Alpay

C++ Soruları (Polymorphism) Sanal Fonksyon nedir? Polymorphism örneği verin? Pür Sanal Fonksyon (pure virtual func) nedir? Soyut Nesneler nedir? Niçin kullanılır? Sanal Fonksyonlar nasıl çalısır? vtable nedir? Sanal Fonksyonları C’de nasıl taklit ederiniz? vtable boyutu ve sizeof ile ilişkisi 4/6/2017 CSD C/C++ Altan Alpay

C++ Soruları (Exceptions) Exception’larin faydalari / zararlari? Setjmp / longjmp arasindaki fark? Ne gibi durumlarda geri dönüş değerleri exceptionlara tercih edilmeli? Tipine bakmazsızın tüm exceptionları nasıl yakalarız? Java finally özelliğini C++’da nasıl taklit edebiliriz? Exceptionlar yakalanmazsa ne olur? 4/6/2017 CSD C/C++ Altan Alpay

C++ Soruları (Templates) Generic Programming! (Genel Programlama) Fonksyon Şablonları (Function Templates) Sınıf Şablonları (Class Templates) CPP ve H dosyaları açısından ne fark var? C++ Şablonları ne tür bir binding örneğidir? Statik binding & Dinamik binding nedir? Şablonlar ve Derleyici ilişkişi Template specialization veya template<>? 4/6/2017 CSD C/C++ Altan Alpay

C++ Kitapları 4/6/2017 CSD C/C++ Altan Alpay

Nesneye Yönelik Tasarım Sınıflar arası kaç çesit ilişki vardır? Kalıtım (Inheritance) / IS-A ilişkisi Composition (Aggregation ) / Has-A ilişkisi Liskov substitution principle 4/6/2017 CSD C/C++ Altan Alpay

Tasarım Desenleri (Design Patterns) Niçin tasarım desenleri kullanmalıyız? Yaratici Desenler (Creational Patterns) Factory (Fabrika) Singleton Protype (Prototip) Yapısal Desenler (Structural Patterns) Adapter (Adaptor) Composite Davranışsal Desenler (Behaviour Patterns) Chain of Responsibility (Emir Komuta Zinciri) State Memento Observer 4/6/2017 CSD C/C++ Altan Alpay

Tasarım Desenleri (Design Patterns) 4/6/2017 CSD C/C++ Altan Alpay

Algorithmalar ve Karmaşıklık O(1) => sabit karmaşıklık O(log n) => logaritmik karmaşıklık O(n) => doğrusal karmaşıklık O(n log n) => Doğrusal logaritmik karmaşıklık O(n^2) => Karesel karmaşıklık O(n^2) => Küpsel karmaşıklık Sistem Programlama ve İleri C Uygulamaları Kurs Notları - Uyarlama 1 http://www.csystem.org/sites/default/files/documan-arsivi/aslank/system-programming-version1.pdf 4/6/2017 CSD C/C++ Altan Alpay

Algorithmalar ve Karmaşıklık 4/6/2017 CSD C/C++ Altan Alpay

Veri Yapıları (Data Structures) İkili Ağaçlar (Binary Trees) Bağlı Listeler (Linked Lists) Yığıt (Stacks) Kuyruklar (Que/Deque/Priority) Hash Tabloları (Hash Tables) 4/6/2017 CSD C/C++ Altan Alpay

Bağlı Listeler (Linked Lists) Tekli Bağlı Listelerde rastgele bir düğümü nasıl silebiliriz? Bağlı listelerde sonsuz döngüleri nasıl tespit edebiliriz? Tekli bağlı listelerde sondan n’inci elemanı nasıl bulabılırız? 4/6/2017 CSD C/C++ Altan Alpay

Bağlı Listeler (Linked Lists) Sıralanmamış bağlı bir listede ayrı değeri taşıyan düğümleri nasıl silebiliriz? Tekli Bağlı Listeyi tersine nasıl çevirebiliriz? 4/6/2017 CSD C/C++ Altan Alpay

İkili Ağaçlar (Binary Trees) Karmaşıklık O(n log n) Ağaçları nasıl dengeleyebiliriz? Dengesiz ağaçlar hangi durumlarda iyi sonuç vermez? Verilen iki ağaç elemanının (Common-Ancestor) ortak atasını bulun. 4/6/2017 CSD C/C++ Altan Alpay

Hash Tabloları Karmaşıklığı her zaman O(1) midir? Anahtar çarpışması (Hash collision) nasil önlenir? Anahtar çarpışması 4/6/2017 CSD C/C++ Altan Alpay

Standart Kütüphane (STL) Taşıyıcılar (Containers) Vector Map Set hash_map List Iteratorler Algorithmalar (sıralayan,silen,değiştiren,bulan gibi) Allocatorler String Otomatik İşaretçiler (auto_ptr) C++ Uygulamaları Kurs Notları - Uyarlama 1 http://www.kaanaslan.com/resource/course_note/download_file.php?file_id=13 4/6/2017 CSD C/C++ Altan Alpay

STL Kitapları 4/6/2017 CSD C/C++ Altan Alpay

TCP/IP ve Ağ Programlama OSI Katmanları TCP ve UDP farkı? Hangi durumlarda UDP tercih edilir? Hangi durumlarda TCP tercih edilir? TCP’de el sıkışma (3-way handshake) TCP’de Akış kontrolu (Flow Control) TCP’de Çarpışma kontrolu(Congestion Avoidance / Slow Start ) 4/6/2017 CSD C/C++ Altan Alpay

TCP/IP ve Ağ Programlama UDP socketlerinin kullanimi TCP soketlerinin kullanimi Client Tarafi (connect, read, write, close) Sunucu Tarafi (bind, listen, accept, read,write, close) RAW Socketler ve kullanim alanlari (ICMP: ping, trace) Synronious and Asyncronious Sockets Socket programlama teknikleri Fork() ile coklu process multi-threading Async i/o (like libevent) select 4/6/2017 CSD C/C++ Altan Alpay

Çoklu İş Parçaları (Multi-Threding) Çoklu threading & Çoklu process farkları Thread Local Storage Context Switcing kavramı Tek işlemcili bir bilgisayarda bir iş-parcacı ile 1 saat süren işlem, aynı bilgisayarda 100 iş-parcacığı ile ne kadar sürer? 4/6/2017 CSD C/C++ Altan Alpay

Çoklu İş Parçaları (Multi-Threding) Dead-Lock nedir? Nasil Olusur? Dead-Lock nasil onlenir? Race Condition nedir? Priority Inversion nedir? 4/6/2017 CSD C/C++ Altan Alpay

Çoklu İş Parçaları (Multi-Threding) Senkronizasyon neden gereklidir? Nasil sağlanır? Muxed Semaphore Barriers Condition Variables 4/6/2017 CSD C/C++ Altan Alpay

Unix/Linux Programlama Zombi process nedir? Deamon process nedir? Bir processi nasil hızlandırabiliriz? (nice) Sunucu üzerindeki tcp/ip bağlantılarını nasıl tespit edebiliriz? (netstat) Sunucu üzerindeki tcp socketlerini nasil dinleyebiliriz? (tcpdump) Sinyallerler Process Yönetimi => fork(), wait() UNIX/Linux Sistem Programlama Kurs Notları - Uyarlama 1 http://www.csystem.org/sites/default/files/documan-arsivi/aslank/unix-linux-sysprog-version1.pdf 4/6/2017 CSD C/C++ Altan Alpay

Processler arasi Haberleşme Sinyaller Ortak Bellek (Shared Memory) Unix Sockets Pipes (mknod, pipes) Semaphores Mesaj Kuyrukları (Message Ques) UNIX/Linux Sistem Programlama Kurs Notları - Uyarlama 1 http://www.csystem.org/sites/default/files/documan-arsivi/aslank/unix-linux-sysprog-version1.pdf 4/6/2017 CSD C/C++ Altan Alpay

Gömülü Programlama volatile kelimesi Pre-emptive  non-preemptive sistemler interrupt kelimesi Bit işlemleri Herhangi bir adrese erişim ptr = (int *)0x67a9; *ptr = 0xaa55; *(int * const)(0x67a9) = 0xaa55; 4/6/2017 CSD C/C++ Altan Alpay

İnternet Kaynakları Glassdoor.com Careercup.com Sulekha.com C++ FAQ http://parashift.com/c++-faq-lite/ comp.lang.c++ 4/6/2017 CSD C/C++ Altan Alpay