Wywiad Java Pytania i odpowiedzi (Zaktualizowano na 2019 r.)

Spisie treści:

Anonim

Wprowadzenie do pytań do wywiadu Java dla świeższych kandydatów

Jeśli szukasz pracy związanej z Javą, musisz przygotować się do pytań do rozmowy kwalifikacyjnej Java dla świeższych kandydatów. Chociaż każda rozmowa kwalifikacyjna jest inna, a zakres pracy jest również inny, możemy pomóc Ci z najważniejszymi pytaniami i odpowiedziami do wywiadu Java, które pomogą ci wykonać skok i odnieść sukces w wywiadzie Java.

Poniżej znajduje się lista najczęściej zadawanych pytań podczas wywiadu Java

1. Różnica między Buforem ciągów a String Builderem w Javie

Odpowiedź:
Jest to jedno z ulubionych pytań ankieterów, jednak kandydaci często na nie udzielają odpowiedzi.

Oto kilka znaczących różnic dotyczących bufora ciągów i konstruktora ciągów dla lepszego zrozumienia

1) StringBuilder to niezsynchronizowana wersja klasy StringBuffer. Metody w StringBuilder
Np. Wszystkie przeciążone wersje metody append () nie są synchronizowane.
2) StringBuilder działa szybciej niż StringBuffer ze względu na brak kosztów związanych z uzyskiwaniem i zwalnianiem blokad związanych z metodami synchronicznymi.
3) StringBuffer jest uważany za bezpieczny dla wątków, a StringBuilder nie, ponieważ jeśli taka synchronizacja jest wymagana, lepiej jest użyć klasy StringBuffer. Instancji klasy StringBuilder nie można współużytkować między wieloma wątkami
4) StringBuffer to stara klasa; jest włączony do JDK od pierwszego wydania, a StringBuilder jest stosunkowo nową klasą
5) Najważniejszym faktem na temat StringBuffer i StringBuilder jest to, że kiedy konkatenacja String jest wykonywana za pomocą operatora +, Java wewnętrznie konwertuje to wywołanie na odpowiednią klasę metody StringBuilder append (). Na przykład „jeden” + „dwa” + „trzy” zostaną przekonwertowane na nowy StringBuilder () .append („jeden”). Append („dwa”). Append („trzy”).

2. Program Java do znajdowania największej i najmniejszej liczby w tablicy liczb całkowitych

Odpowiedź:
Prosty wskaźnik 5, aby odpowiedzieć na to pytanie

  • Utwórz plik źródłowy Java o nazwie MaximumMinimumArrayDemo.java i skopiuj kod, aby skompilować i wykonać w swoim ulubionym IDE
  • Utwórz metodę o nazwie największej i najmniejszej (liczby int ()), aby wydrukować największą i najmniejszą liczbę tablic int przekazanych do programu.
  • Użyj dwóch największych i najmniejszych zmiennych do przechowywania maksymalnych i minimalnych wartości z tablicy. Początkowo największa jest inicjowana za pomocą Integer.MIN_VALUE, a najmniejsza jest inicjowana za pomocą Integer.MAX_VALUE.
  • Do wszystkich iteracji pętli porównaj bieżącą liczbę od największej do najmniejszej i odpowiednio ją zaktualizuj.
  • Jeśli liczba jest większa niż największa, nie może być mniejsza niż najmniejsza, co oznacza, że ​​nie musisz sprawdzać, czy pierwszy warunek jest spełniony, dlatego użyliśmy bloku kodu if-else, w innym przypadku tylko część wykonać, jeśli pierwszy warunek nie jest spełniony.

Logikę znajdowania największego elementu z tablicy w Javie podano poniżej.

Zamiast przypisywać zmienną Integer.MAX_VALUE, przypisaliśmy pierwszy element z tablicy.

3. Jaka jest różnica między C ++ a Javą?

Odpowiedź:
C ++ i Java są podobne tylko w porównaniach składniowych. Poniżej podano różnice:

    • Java jest wielowątkowa
    • Java nie ma wskaźników
    • Java ma automatyczne zarządzanie pamięcią (odśmiecanie)
    • Java jest niezależna od platformy
    • Java ma wbudowaną obsługę dokumentacji komentarzy
    • Java nie ma przeciążenia operatora

Java nie zapewnia wielu spadków

  • W Javie nie ma żadnych destruktorów

4. Różnica między klasą abstrakcyjną a interfejsem?

Odpowiedź:
Wielokrotne dziedziczenie:

Klasa abstrakcyjna może dziedziczyć tylko jedną klasę abstrakcyjną; jednak w interfejsie klasa może implementować kilka interfejsów. Dowodzi to, że interfejs obsługuje wielokrotne dziedziczenie, podczas gdy klasa abstrakcyjna nie.

Realizacja:

Klasa abstrakcyjna może dostarczyć domyślny kod, ponieważ zawiera zarówno niekompletne, jak i kompletne elementy, podczas gdy interfejs nie może dostarczyć żadnego kodu, ponieważ zawiera tylko niekompletny element

Fields
Możemy zdefiniować pola i ograniczenia w klasie Abstract, natomiast w interfejsie nie można zdefiniować żadnych pól

Prędkość
Klasa abstrakcyjna jest szybka w porównaniu do interfejsu, ponieważ ten ostatni wymaga więcej czasu na znalezienie metody do odpowiedniej klasy

Stosowanie
Klasa abstrakcyjna pojawia się, gdy chcemy udostępnić wspólną funkcjonalność w relacji rodzic-dziecko, podczas gdy interfejs służy do definiowania i egzekwowania polimorfizmu, oddzielania i standaryzacji

5. Różnica między prywatnym, chronionym, publicznym i modyfikatorem pakietu lub słowem kluczowym w Javie

Odpowiedź:
prywatny vs. publiczny vs. chroniony vs. pakiet w Javie

Java ma cztery modyfikatory dostępu, a mianowicie; prywatny, chroniony, publiczny i na poziomie pakietu

dostęp na poziomie pakietu jest uważany za domyślny poziom dostępu oferowany przez Javę, jeżeli w przypadku braku identyfikatora modyfikatora dostępu

Te modyfikatory dostępu działają w celu ograniczenia dostępności klasy, metody lub zmiennej, do której się odnoszą

Poniżej opisano funkcje każdego modyfikatora dostępu i różnice między nimi

prywatne słowo kluczowe w Javie

  • prywatny modyfikator w Javie można zastosować do pola członka, metody lub klasy zagnieżdżonej w Javie.
  • Nie można używać prywatnego modyfikatora w klasie najwyższego poziomu.
  • zmienne prywatne, metody i klasa są dostępne tylko w klasie, w której zostały zadeklarowane.
  • Prywatna najwyższa forma enkapsulacji Java API zapewnia i powinna być używana w jak największym stopniu.

Najlepszą praktyką kodowania w Javie jest domyślnie deklarowanie zmiennej prywatnej. Metodę prywatną można wywołać tylko z klasy, w której została zadeklarowana

pakiet lub domyślny poziom dostępu w Javie

  • pakiet jest słowem kluczowym używanym do deklarowania pakietu w Javie; pakiet to katalog, do którego należy klasa w Javie.
  • pakiet lub domyślny poziom dostępu jest drugim najwyższym modyfikatorem ograniczającym dostęp po prywatnym, a każda zmienna, metoda lub klasa zadeklarowana jako pakiet-prywatny jest dostępna tylko w pakiecie, do którego należy.

Zaletą domyślnego modyfikatora jest to, że klasa najwyższego poziomu może być również prywatna dla pakietu, jeśli nie ma modyfikatora dostępu na poziomie klasy.

chronione słowo kluczowe w Javie

Różnica między prywatnym a chronionym słowem kluczowym polega na tym, że chroniona metoda, zmienna lub zagnieżdżona klasa jest dostępna nie tylko w klasie, w pakiecie, ale także poza pakietem w podklasie.
Jeśli zadeklarujesz, że zmienna jest chroniona, oznacza to, że każdy może jej użyć, jeśli rozszerzy twoją klasę. Klasa najwyższego poziomu również nie może być chroniona.

publiczne słowo kluczowe w Javie

Publiczny to najmniej restrykcyjny modyfikator dostępu w języku programowania Java i jego zła praktyka, aby domyślnie zadeklarować pole, metodę lub klasę publiczną, ponieważ po upublicznieniu bardzo trudno jest wprowadzić jakiekolwiek zmiany w wewnętrznej strukturze klasy, ponieważ wpływa to na wszystkich klientów korzystających z to.

Upublicznienie zmiennej klasy lub instancji również naruszyło zasadę enkapsulacji, która wcale nie jest dobra i źle wpływa na utrzymanie

Polecany artykuł

Jest to przewodnik po liście pytań i odpowiedzi na rozmowę kwalifikacyjną w języku Java, aby kandydat mógł łatwo przełamać te pytania podczas rozmowy kwalifikacyjnej w języku Java. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -

  1. Pytania do programisty Java
  2. Ważne pytania dotyczące wywiadu wielowątkowego Java
  3. Wywiad J2EE Pytania i odpowiedzi
  4. Java String wywiad pytanie i odpowiedzi
  5. Java 8 Wywiad Pytania i odpowiedzi