• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zbiór zagadnien - Praca, Staz, Nauka (PROGRAMISTA - Dodaj swoje)

VPS Starter Arubacloud
+15 głosów
1,711 wizyt
pytanie zadane 5 kwietnia 2015 w Rozwój zawodowy, nauka, praca przez Mateusz Dalgiewicz Mądrala (5,270 p.)
edycja 5 kwietnia 2015 przez Mateusz Dalgiewicz

Witajcie ! 

Wielu z was zapewne prędzej czy później będzie zainteresowane podjęciem pracy lub też stażu zawodowego w jakiejś firmie. Wiadomo, iż w trakcie rozmowy kwalifikacyjnej pracodawca zadaje różnego typu pytania związane z danym językiem oraz jego powiązanymi technologiami. Jako że jestem w  trakcie przygotowywania się do podjęcia stażu postanowiłem zebrać spis najważniejszych zagadnień dotyczących programowania.

Postanowiłem podzielić się z wami dotychczas zebranymi zagadnieniami i mam nadzieje że również wy dodacie coś od siebie . Moje zagadnieia dotyczą jak narazie głównie Javy ale nie tylko. Myśle, że taki spis ma jak najbardziej sens ponieważ w internecie jest pełno tego typu tematów jedak nigdzie nie ma nic konkretnego.

Proponuje aby każdy chętny zamieścił swoje zagadnienia z daną technologią jakie uważą za kluczowe, może uda nam sie zebrać jakąś ciekawą baze a w przyszłości może warto będzie pomyśleć nad umieszczeniem gdzieś również sensownych odpowiedzi na postawione pytania :) Aby uniknąc niepotrzebnego chaosu proponuje aby nie umieszczać pojedyńczych zagadnień tylko dodawać je w pakietach po co najmniej kilka. 

Co jakiś czas będe edytował swój post i starał sie uaktualniać zagadeninia aby wszystko było czytelnie umieszczone w jednym miejscu. 

[JAVA]

  1. Zasada działania Garbage Collectora
  2. Klasa węwnętrzna statyczna a klasa wewnętrzna niestatyczna podaj różnice
  3. Jaka jest różnica pomiędzy interfejsem a klasą abstrakcyjną
  4. W jakich stanach może znajdować się wątek w Javie
  5. Czym jest bytecode 
  6. Czym jest JVM wyjaśnij kluczowe zagadnienia
  7. Co to znaczy "immutable"
  8. Jak zapobiegać zmianie referencji do obiektu przekazanego do metody
  9. Czym jest hashcode
  10. Kiedy używać interfejsów a kiedy klas abstrakcyjnych
  11. Zależności pomiędzy metodami equals() a hashcode()
  12. Czym są metody wirtualne i jak wyglądaja w Javie
  13. Różnica pomiędzy StringBuilder a StringBuffer - kiedy używamy?
  14. Comparator a Comparable
  15. Do czego słuzy instanceof
  16. Dlaczego Stringi są immutable
  17. Różnica pomiędzy "==" a equals()
  18. Czym są klasy generyczne
  19. Czym tzw deamon thread
  20. Co oznacza transient
  21. Co oznacza volatile
  22. Co wprowadza Java 8
  23. Co to są klasy anonimowe wewnętrzne
  24. Czym jest mechanizm refleksji

[OGÓLNE]

  1. Wyjaśnij na czym polega polimorfizm
  2. Różnica pomiędzy Kompozycją a Dziedziczeniem
  3. Co to jest konstruktor domyślny
  4. Co zawiera stos i sterta
  5. Wyjaśnij na czym polega różnica pomiędzy aplikacjami 32 a 64 bitowymi (wady i zalety)
  6. Różnica pomiędzy językami c++ a java
  7. Co to jest sekcja krytyczna 
  8. Czym są semafory,monitory, synchronizatory
  9. Wyjaśnij wszystkie zasady SOLID
  10. Co powoduje wycieki pamięci
  11. Na czym polega wzorzec MVC
  12. Czym jest GoF
  13. Czym jest serializacja danych
  14. Czym są parametry jawne i niejawne
  15. Podstawowe struktury danych (listy, zbiory, mapy, tablice) - zasada działania
  16. Czym są klasy Proxy

4 odpowiedzi

+5 głosów
odpowiedź 5 kwietnia 2015 przez Ursan Bywalec (2,920 p.)
edycja 15 kwietnia 2015 przez Ursan
Proponuję żeby autor zbierał pytania i edytował swój post, dodając jakieś anchory - wszystko bedzie w jednym miejscu :)

[C++]

1. Przeciążanie operatorów i metod.

2. Override, a overload.

3. Do czego służą funkcje wirtualne i czysto wirtualne?

4. Obsluga wyjątków.
komentarz 5 kwietnia 2015 przez Mateusz Dalgiewicz Mądrala (5,270 p.)
dokładnie coś takiego chciałem zaproponować, co jakiś czas będe robił update zagadnien :)
+2 głosów
odpowiedź 13 kwietnia 2015 przez bossik21 Mądrala (5,750 p.)

Cześć, postanowiłem, że porozwiązuję trochę tych zadań :) (Będę starał sie updatować na bieżąco.)

Pytania 1-10

1.Zasada działania Garbage Collectora

http://www.e-point.pl/_fileserver/item/1500356

Faza Odśmiecania składa się z dwóch części:

Mark – Identyfikacja wszystkich używanych obiektów i ustawienie ich marbitow na 1

Sweep – Usuwanie wszystkich obiektow, których markbity wynoszą 0;

Dodatkowo występuje 3ci proces „Collect” – któy to defragmentuje pamięć.

2. Klasa węwnętrzna statyczna a klasa wewnętrzna niestatyczna podaj różnice

http://rnowak.c0.pl/index.php?kat=java&file=klasy_zagniezdzone_wewnetrzne

http://forum.4programmers.net/Newbie/182128-przyklady_zastosowan_statycznej_klasy_wewnetrznej

Klasa wewnętrzna statyczna:

- Nie posiada referencji do klasy zewnętrznej

- Nie można odwoływać się do zmiennych klasy zewnętrznej bezpośrednio. Potrzeba posiadać nazwę obiektu klasy zewnętrznej.

Klasa wewnętrzna niestatyczna :

- Posiada niejawną referencję do klasy zewnętrznej.

- Możemy odwoływać się do zmiennych/metod klasy zewnętrznej bezpośrednio

3.Jaka jest różnica pomiędzy interfejsem a klasą abstrakcyjną

Interfejs :

Określa funkcjonalność, która może posiadać klasa.

Można dołączać wiele interfejsów do jednej klasy

Klasę Abstrakcyjną jak każda klasę może dziedziczyć jedną w klasie pochodnej.

4. W jakich stanach może znajdować się wątek w Javie

Utworzony – obiekt utworzony dopiero, ale jeszcze nie uruchomiony

Wykonywany -  watęk na którym uruchomiono metodę start() i jest aktualnie „w ruchu”

Zablokowany – wątek nie może być wykonywany bo brakuje mu jakichś zasobów, bądź jest zatrzymany

Zakończony – Watęk po wykonaniu metody stop() lub po zakończeniu działania run()

5.Czym jest bytecode 

Jest to przekompilowany kod na listę instrukcji które ma do wykonania JVM,

6.Czym jest JVM wyjaśnij kluczowe zagadnienia

JVM to jest maszyna służąca do wykonywania kodu bajtowego javy. Dodatkowymi funkcjonalnościami JVM jest GC, obsługa wyjątków.

Elementy JVM

Interpreter – wykonuje krok po kroku instrukcje programu zapisane w postaci kodu bajtowego

Kompilator JIT – (opcjonalny) kompiluje najczęściej wykorzystywanego fragmenty kodu do postaci kodu maszynowego . + zwiększenie wydajności

Zarządca Pamięci – Zarządza stertą na której znajdują się wszystkie wykorzystywane w aplikacji obiekty oraz zapewnia automatyczne zwalnianie nieużywanej pamięci

Weryfikator kodu bajtowego – wykonuje się przed odpaleniem kodu bajtowego. Sprawdza, czy wykonanie tego kodu nie zaszkodzi bezpieczeństwu systemu.

Java API – Zestaw bibliotek programistycznych udostępnianych takie usługi jak obsługa plików czy GUI.

7. Co to znaczy "immutable"

http://www.pzielinski.com/?p=1127

http://www.javapractices.com/topic/TopicAction.do?Id=29

http://en.wikipedia.org/wiki/Immutable_object#Java

 

To termin odnoszący się do tworzonych obiektów. „immutable”  - „ niezmienne”. Obiekty takie są niezmienne po ich inicjalizacji. Jedyną możliwością zmienienia stanu takiego obiektu jest przypisanie do niego innej wartości.

8. Jak zapobiegać zmianie referencji do obiektu przekazanego do metody

Wykonywać kopie głębokie?

Użyć Konstruktora kopiującego?

9. Czym jest hashcode

Jest to intowa wartość danej zmiennej, dzięki niej możemy korzystać z hashMap i szybko odwoływać się do danego miejsca.

10. Kiedy używać interfejsów a kiedy klas abstrakcyjnych

Interfejsów używamy, gdy chcemy aby klasa miała na pewno jakąś funkcjonalność i żeby posiadała metody tego interfejsu.

Klas abstrakcyjnych używamy, gdy kilka klas posiada takie same metody  i możemy je wyekstraktować do innej klasy, ale taka nowa klasa nie powinna posiadać możliwości stworzenia instancji. Przykład Kobieta i Mężczyzna robią takie same rzeczy w ciągu dnia : jedzą, śpią i możemy takie metody „wyrzucić do klasy humna

komentarz 13 kwietnia 2015 przez Mateusz Dalgiewicz Mądrala (5,270 p.)
Ja również posiadam już rozwiązania do wszystkich podpunktów. W wolnej chwili połącze nasze siły i zrobie update posta aby wszystko było w jednym miejscu :)

Co do pytania 8. Wydaje mi się, że aby zapobiec zmianie referencji do obiektu przekaanego do metody ( w Javie) wystarczy obiekt przekazywany do metody zadeklarować jako final.
komentarz 13 kwietnia 2015 przez bossik21 Mądrala (5,750 p.)
Ewentualnie dorzucić też przy nagłówku funkcji przy argumencie specyfikator "const"
+2 głosów
odpowiedź 13 kwietnia 2015 przez bossik21 Mądrala (5,750 p.)
edycja 14 kwietnia 2015 przez bossik21

Pytania 11- 20

11. Zależności pomiędzy metodami equals() a hashcode()

Jeżeli obiekt1.equals(obiekt2) => obiekt1.hashCode() == obiekt2.hashCode()

Jednakże jeżeli obiekt1.hashCode() == obiekt2.hashCode() to nie musi być obiekt1.equals(obiekt2).

 

12. Czym są metody wirtualne i jak wyglądaja w Javie

http://edu.pjwstk.edu.pl/wyklady/pro/scb/PRG2CPP_files/node130.html

 

W javie wszystkie metody za wyjątkiem metod oznaczonych specyfikatorem final, metod statycznych, bo one dotyczą klas, a nie obiektow, oraz metod prywatnych, gdyż nie można ich przedefiniować.

 

Wyglądają jak normalne metody.

 

13. Różnica pomiędzy StringBuilder a StringBuffer - kiedy używamy?

StringBuffer jest synchroniczny. Nie może być używany w kilku wątkach jednocześnie (w tym samym momencie ,Jest bezpieczny przy użyciu wątków, ale za to bardzo wolny

StringBuilder nie jest synchroniczny, nie jest zabezpieczony przed wątkami i może kilka wątków jednocześnie z niego korzystać, jest szybszy niż StringBuffer.

 

14.Comparator a Comparable

http://www.java2blog.com/2013/02/difference-between-comparator-and.html

 

Comparable zmusza nas do implementacji interfejsu w klasie oporównywanych obiektów i do nadpisania metody compareTo() tego interfesju.

 

Comparator nie zmusza nas do implementacji interfejsu w klasie obiektu, natomiast pozwala nam na dynamiczne dodawanie sposobu porównań elementów.

 

15.Do czego słuzy instanceof

Instanceof służy do sprawdzenia czy obiekt jest instancją jakiejś konkretnej klasy.

 

16.Dlaczego Stringi są immutable

Ponieważ Stringi dodawane są na stertę Stringów i każdy nowy string o takiej samej wartości wskazuje na ten już instniejący na tej stercie string, dlatego gdybyśmy możli zmieniać stan Stringów to jednoczeniśnie zmienialibyśmy wartość wszystkich referencji wskazujących na ten obiekt na stercie.

 

17. Różnica pomiędzy "==" a equals()

„==” porównuje dokładnie dwa obiekty i sprawdza czy są takie same

equals skupia się bardziej na samych wartościach tych obiektów.

 

18. Czym są klasy generyczne

Są to klasy „szkielety”, są to gotowe klasy, który po prostu nie określają z góry typów danych wykorzystywanych w tej klasie, tylko pozwalają nam programistom na zdefiniowanie samemu jakiego typu ma być to klasa.

 

19. Czym tzw deamon thread

Jest to wątek, który nie wymaga do działania JVM i może działać mimo wyłączenia programu. taki wątek działa niezależnie od programu.

20. Co oznacza transient

Określa pole o wartości tymczasowej. Nie uwzględniane podczas zapisywania obiektu (serializacji).

 

0 głosów
odpowiedź 5 kwietnia 2015 przez krecik1334 Maniak (58,390 p.)
edycja 5 kwietnia 2015 przez krecik1334
0. Różnica między postinkrementacją a preinkrementacją.

1. Zasada działania systemów rozproszonych

Podobne pytania

+1 głos
2 odpowiedzi 1,562 wizyt
–6 głosów
0 odpowiedzi 844 wizyt
+10 głosów
4 odpowiedzi 1,780 wizyt

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...