воскресенье, 12 февраля 2012 г.

Java Junior собеседование: что спрашивают и как готовиться?

Привет,


со своим стартапом не очень получилось, закончились деньги и пришлось искать работу. Т.к. опыта у меня было мало, я решил устроиться на Java Junior'а (и устроился =)). Итак, как же лучше готовиться к собеседованию?


1. Читаем книги - не нужно перечитывать Think in Java или Effective Java. Я считаю, что достаточно двух книг:
1.1 SCJP Sun Certified Programmer for Java 6 Study Guide - просто must have на мой взгляд. Легко читается, куча новой для меня информации (особенно в первых главах) не очень нужной в жизни, но важной на интервью
1.2 Java/J2EE Job Interview Companion - вы уже не первый, кто проходит интервью по Java. Сборник вопросов и ответов. Первая половина книги вполне полезна для Junior'а, чтобы все повторить
2. Смотрим сборники вопросов по Java, которые есть в интернете. После прочтения первой книги вы должны уже будете на большую часть ответить сами.
3. Проходим тесты - разбираемся в большом количестве интересных ситуаций и заковырок. Закрепляем материал
4. Разбираемся, как устроены ArrayListLinkedList и HashMap - очень любят спрашивать, как же устроен HashMap? + понять будет значительно лучше, чем выучить
5. Читаем про сортировку пузырьком и Quicksort


Все это я сделал, и каждый из пунктов мне пригодился. Ничего лишнего здесь нет.

Спрашивают, конечно, разные вещи. На 100% нужно знать и понимать все методы класса Object (особенно equals и hashCode), хорошо понимать Collection Framework, представлять, как можно устроить dead lock. Если вы не использовали чистый SQL на практике (как и я), то хотя бы теорию до Join'ов включительно вы должны знать


Небольшая памятка себе же. Что стоит помнить:
1. Как абстрактный класс имплементирует интерфейс
2. Как устроен switch case (хитрые ситуации с break / default)
3. Модификаторы доступа
4. Значения простых типов по-умолчанию
5. Порядок вызова конструкторов и статических блоков
6. s += ".1", где s - String / double
7. TreeSet - в каком порядке сортирует; что будет, если добавить один объект, не реализующий Comparable; два объекта?
8. Какой метод вызовется a(null) - a(String obj) или a(Object obj)? Почему? А между a(String obj) и a(Integer obj)?


Ну и наконец, последний, но самый главный совет - идите только туда, где вам понравилось. Лучше 2-3 недели потратить на поиски своей компании, чем год работать там, где вам не интересно.   Приходя на интервью, я через 15-30 минут понимал, интересно ли мне будет работать в такой компании над такими проектами или же нет.

4 комментария:

  1. Пиши по чаще, читаю интересно.

    ОтветитьУдалить
  2. Спасибо, как только будет что-нибудь интересное - сразу напишу =)

    ОтветитьУдалить
  3. Спасибо большое за этот блог. Прочитал взахлеб от начала и до этого поста.

    ОтветитьУдалить