Sunuyu indir
YayınlayanSeyma Sancak Değiştirilmiş 9 yıl önce
1
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
2
Ö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
3
Ö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
4
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
5
Ö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
6
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
7
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
8
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
9
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
10
Amerika Kariyer Siteleri İş Arama Motorları Monster Dice
Hot Jobs (Yahoo) JobServe İş Arama Motorları Simply Hired Indeed 4/6/2017 CSD C/C++ Altan Alpay
11
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
12
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
13
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
14
İ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
15
Ö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
16
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
17
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
18
Ö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
19
Ö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
20
Örnek Özgeçmişler 4/6/2017 CSD C/C++ Altan Alpay
21
Ö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
22
Ö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
23
Ö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
24
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
25
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
26
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
27
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
28
Teklif ve Ücretlendirme
Senelik Brüt Ücret Amerika => $80k - $120k (%90 dağılım) İngiltere => k – 60k pound İrlanda => k - 90k EUR (%90 dağılım) Almanya => k 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
29
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
30
Teklif ve Ücretlendirme
AYLIK BRÜT ÜCRET HESAPLAMASI Faktorler (Bekar/Evli, Çocuk, Eyalet ve Şehir Vergisi, Vergi Dilimi) Manhattan’da Bekar => $100k $5, aylık YAŞAM PAHALILIĞI INDEKSİ Manhattan Dallas $100k $42k 4/6/2017 CSD C/C++ Altan Alpay
31
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
32
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
33
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
34
Soru Tipleri Bilgi Soruları Tecrübe Soruları Kodlama Soruları
Tasarım Soruları Hata (bug) Soruları 4/6/2017 CSD C/C++ Altan Alpay
35
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
36
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
37
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
38
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
39
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
40
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
41
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
42
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
43
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
44
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
45
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
46
C++ Soruları (const) const kelimesi kaç değişik anlamda kullanilabilir? const-overloading mutable kelimesi 4/6/2017 CSD C/C++ Altan Alpay
47
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
48
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
49
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
50
C++ Kitapları 4/6/2017 CSD C/C++ Altan Alpay
51
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
52
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
53
Tasarım Desenleri (Design Patterns)
4/6/2017 CSD C/C++ Altan Alpay
54
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 4/6/2017 CSD C/C++ Altan Alpay
55
Algorithmalar ve Karmaşıklık
4/6/2017 CSD C/C++ Altan Alpay
56
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
57
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
58
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
59
İ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
60
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
61
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 4/6/2017 CSD C/C++ Altan Alpay
62
STL Kitapları 4/6/2017 CSD C/C++ Altan Alpay
63
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
64
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
65
Ç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
66
Ç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
67
Ç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
68
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 4/6/2017 CSD C/C++ Altan Alpay
69
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 4/6/2017 CSD C/C++ Altan Alpay
70
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
71
İnternet Kaynakları Glassdoor.com Careercup.com Sulekha.com
C++ FAQ comp.lang.c++ 4/6/2017 CSD C/C++ Altan Alpay
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.