BrotherFlame (brotherflame) wrote,
BrotherFlame
brotherflame

Category:

Вопросы всякие по Java




I. Вопросы на выявление профнепригодности.
1. Методы класса Object
2. Контракты методов equals() и hashCode()

II.Интересные по стандартным классам Явы:
1. Описать внутреннее устройство и принцип работы HashMap (с точки зрения организации внутренних данных).
2. Написать копирующий конструктор для класса String.

III. По коллекциям.
1. Нарисовать иерархию коллекций и карт.
2. Добавление эл-в в разные коллекции add(element), и вывод в цикле по i. Что будет для каких коллекций.
3. Чем отличается LinkedList и ArrayList и когда лучше первый а когда второй?
4. Как сделать коллекцию потокобезопасной.


IV. Исключения
1. Нарисовать иерархию исключений.
2. AssertionError это: а) Throwable, б) RuntimeException, в) Error, г) Exception

V. Потоки
1. Всякие подколы на переопределение метода start() у объекта Thread.
2. Подколы на вызов wait(), notify(), notifyAll() из не синхронизированного контекста.
3. Есть много потоков, которые хотят обновлять счетчик при помощи getCounter(). Вот счетчик:
class MyCounter {
private static int counter = 0;
public static synchronized void incCounter() {
counter++;
}
public int getCounter() {
incCounter();
return counter;
}
}
Потокобезопасно или нет?
4. Как остановить поток?


VI. ООП
1. Написать потокобезопасный синглтон.
2. Конструирование состояния объекта: в какой последовательности что инициализируется и выполняется.
3. class A {
B b = new B();
public A() { System.out.println("A"); }
}

class B {
public B() { System.out.println("B"); }
}

class C extends A {
B b = new B();
public C() { System.out.println("C"); }

....
main(...) {
C c = new C();
}

что будет выведено на экран?

4. Перегрузка и перекрытие методов когда перегрузка, когда перекрытие?
5. public class A {
private void m1() {
System.out.println("A.m1()");
}

public void m2(int x) {
m1();
System.out.println("A.m2()");
}
}

public class B extends A {
public void m1() {
System.out.println("B.m1()");
}

public void m2(int x, int y) {
System.out.println("B.m2()");
}
}

....
A b = new B();
int x = 0;
b.m2(x);
Что будет выведено на экран?


Subscribe

  • Автомобильное

    Hyundai вроде как начнут поставлять i30n РФ в этом году. Сертифицировали в сентябре. Когда езжу за пивом, вижу эту красотку у магазина регулярно. И…

  • Проходка

    И как бы ни развивались события, в итоге я припрусь в зал отдыхать ментально. Снова пора схуднуть кг на 5-6. Замерил силовые на старте. Присед: 180…

  • Меньше 80 - - давать нельзя

    Сидели с другом в Секстоне, отмечали мое ДР. Подкатила какая-то баба. В прошлый раз, когда был с Ирочкой тоже подкатывала одна, сделал вид, что я…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments