Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

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

Benzer bir sunumlar


... konulu sunumlar: "C ve C++ Yazılım Geliştiriciler için Yurtdışı Kariyer Olanakları ve Görüşme Teknikleri‏ Altan Alpay 9/6/20141CSD C/C++ Altan Alpay."— Sunum transkripti:

1 C ve C++ Yazılım Geliştiriciler için Yurtdışı Kariyer Olanakları ve Görüşme Teknikleri‏ Altan Alpay 9/6/20141CSD 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ı 9/6/20142CSD 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 9/6/20143CSD C/C++ Altan Alpay

4 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) 9/6/20144CSD C/C++ Altan Alpay UYGULAMA Programcılığı

5 Neden C/C++? Performans Kontrol Ölçeklenebilirlik (Scalability) Donanıma Yakınlık (Hardware) Esneklik 9/6/20145CSD 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) 9/6/20146CSD 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 9/6/20147CSD C/C++ Altan Alpay

8 C/C++ Piyasalara Genel Bakış ÜlkeBüyüklükDerinlikÜcretVizeUzaklıkTürkGörüşme ABDOrtaZorUzakAzÇok Zor AlmanyaAzOrtaYakınÇokKolay İngiltereAzOrtaYakınOrtaZor İrlandaOrtaKolayYakınAzZor FransaAzZorÇok Yakın ÇokKolay 9/6/20148CSD 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) 9/6/20149CSD C/C++ Altan Alpay

10 Amerika Kariyer Siteleri – Monster – Dice – Hot Jobs (Yahoo) – JobServe İş Arama Motorları – Simply Hired – Indeed 9/6/2014CSD C/C++ Altan Alpay10

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ı 9/6/201411CSD 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) 9/6/201412CSD 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 9/6/2014CSD C/C++ Altan Alpay13

14 İngiltere / İrlanda İngiltere – 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 9/6/201414CSD C/C++ Altan Alpay

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

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’ 9/6/2014CSD C/C++ Altan Alpay16

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 9/6/2014CSD C/C++ Altan Alpay17

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 9/6/2014CSD C/C++ Altan Alpay18

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 9/6/2014CSD C/C++ Altan Alpay19

20 Örnek Özgeçmişler 9/6/2014CSD C/C++ Altan Alpay20

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 9/6/2014CSD C/C++ Altan Alpay21

22 Örnek Özgeçmiş Nokia Networks, Irving, TXApril 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 9/6/2014CSD C/C++ Altan Alpay22

23 Örnek Özgeçmiş 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 InternationalTangent 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. 9/6/2014CSD C/C++ Altan Alpay23

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) 9/6/2014CSD C/C++ Altan Alpay24

25 Görüşme Süreci İnsan Kaynakları 30 dkTeklif Paketi Yüzyüze Görüşme 1 Gün6-7 Kişi Telefon Görüşmesi (Phone Screning) 30 dk1-2 mühendis 9/6/2014CSD C/C++ Altan Alpay25

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ı 9/6/2014CSD C/C++ Altan Alpay26

27 Yüzyüze Görüşme Toplamda 1 Gün 5-6 saat 5-6 kişi + üst düzey yönetici + İK dakika / görüşme – 10 dk geçmiş projeler hakkında konuşma – 10 dk bilgi veya tasarım soruları – 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 9/6/2014CSD C/C++ Altan Alpay27

28 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 => 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 9/6/2014CSD C/C++ Altan Alpay28

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ı 9/6/2014CSD C/C++ Altan Alpay29

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 – – 9/6/2014CSD C/C++ Altan Alpay30

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!!! 9/6/2014CSD C/C++ Altan Alpay31

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 9/6/2014CSD C/C++ Altan Alpay32

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 9/6/2014CSD C/C++ Altan Alpay33

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

35 C Soruları (bellek) C bellek türleri – 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; } 9/6/201435CSD 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 9/6/201436CSD 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; 9/6/201437CSD 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 9/6/201438CSD 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ı 9/6/2014CSD C/C++ Altan Alpay39

40 C++ Soruları (Constructors) Constructor’dan exception atılırsa? Initialization List Kopyalama constructor Explicit kelimesi Assignment Operator RAII Kavrami 9/6/201440CSD 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 9/6/201441CSD 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 9/6/201442CSD 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? 9/6/201443CSD 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 – :: – ** 9/6/201444CSD 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<> 9/6/201445CSD C/C++ Altan Alpay

46 C++ Soruları (const) const kelimesi kaç değişik anlamda kullanilabilir? const-overloading mutable kelimesi 9/6/201446CSD 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 9/6/201447CSD 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? 9/6/201448CSD 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<>? 9/6/201449CSD C/C++ Altan Alpay

50 C++ Kitapları 9/6/201450CSD 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 9/6/201451CSD 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 9/6/201452CSD C/C++ Altan Alpay

53 Tasarım Desenleri (Design Patterns) 9/6/2014CSD C/C++ Altan Alpay53

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 9/6/2014CSD C/C++ Altan Alpay54

55 Algorithmalar ve Karmaşıklık 9/6/2014CSD C/C++ Altan Alpay55

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) 9/6/201456CSD 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? 9/6/201457CSD 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? 9/6/201458CSD 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. 9/6/2014CSD C/C++ Altan Alpay59

60 Hash Tabloları Karmaşıklığı her zaman O(1) midir? Anahtar çarpışması (Hash collision) nasil önlenir? Anahtar çarpışması 9/6/201460CSD 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 9/6/2014CSD C/C++ Altan Alpay61

62 STL Kitapları 9/6/201462CSD 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 ) 9/6/201463CSD 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 9/6/201464CSD 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? 9/6/2014CSD C/C++ Altan Alpay65

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

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

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 9/6/2014CSD C/C++ Altan Alpay68

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 9/6/2014CSD C/C++ Altan Alpay69

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; 9/6/2014CSD C/C++ Altan Alpay70

71 İnternet Kaynakları Glassdoor.com Careercup.com Sulekha.com C++ FAQ comp.lang.c++ 9/6/201471CSD C/C++ Altan Alpay


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

Benzer bir sunumlar


Google Reklamları