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

  • Проходка

    Становая на раз 180 Итого стартую с 1ПМ: 120 жим 150 присед 180 становая Цель на 4 недели: 140 жим 170 присед 200 становая

  • Тренера взял

    Договорились на понедельник первую треню. На дефиците чувствую себя инвалидом, еле-еле в рабочих подходах 130 приседается и 100 жмется. На 1пм с…

  • Минусы для жаворонков

    То странное ощущение, когда проснулся в субботу в 6, уже почти сел в машину, настроился часа полтора крутить эллипс и на всякий случай посмотрел…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments