Пятница, 2025-02-07, 23:41:27
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Java вопросы на собеседовании
CHerryДата: Суббота, 2011-09-17, 01:38:55 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 141
Репутация: 3732
Статус: Offline
Вопросы на понимание принципов построения СУБД.
1. Что такое первая нормальная форма и процесс нормализации? Какие бывают нормальные формы?
2. В чем смысл индекса СУБД, как они устроены, как хранятся? Как бы вы реализовали тот же функционал? Последний вопрос задают в случае, если нет четкого понимания индексов.
3. Нарисуйте отношение Многие-ко-многим. Например: таблицы Авторы и Книги. У одного автора может быть несколько книг, и книга может быть написана несколькими авторами. Составьте SQL запрос на выборку книг определенного автора.

Базовые вопросы о Java.
4. Базовый класс в Java, как известно, Object. Какие его методы Вы можете назвать?
5. Расскажите, что такое equals и hashCode? Какие правила и соглашения существуют для реализации этих методов? Когда они применяются?
6. Расскажите о методах wait, notify, notifyAll. Как они применяются, когда, зачем нужны? Что такое synchronized?
7. Что такое finalize? Зачем он нужен? Что Вы можете рассказать о сборщике мусора и алгоритмах его работы.
8. Почему метод clone объявлен как protected? Что необходимо для реализации клонирования?
9. Какие есть модификаторы (доступа и остальные)? Что такое volatile и transient? Для чего и в каких случаях можно было бы использовать default?

Java Collection Framework
10. Какие существуют интерфейсы коллекций в Java? Объясните в чем их отличие.
11. Какие Вы знаете реализации этих интерфейсов?
12. Чем отличаются друг от друга ArrayList и LinkedList. Как они устроены? В каких случаях их стоит использовать.
13. Чем отличаются HashMap и TreeMap? Как они устроены и работают? Что со временем доступа к объектам, какие зависимости?
14. Что такое Hashtable, чем она отличается от HashMap? На сегодняшний день она deprecated, как все-таки использовать нужную функциональность?

Исключения
15. Что такое исключение? Какие типы исключений Вы знаете, чем они отличаются?
16. Может быть предложена задачка с блоками try-catch-finally и вопросом, что вернется или какое исключение будет в итоге передано наверх?

Алгоритмы
17. Какие алгоритмы сортировки Вам известны? Какие вообще знаете алгоритмы?
Причем, здесь возможны различные дополнительные вопросы об оценке сложности алгоритмов, их сравнению между собой.

Паттерны проектирования.
18. Знакомы ли Вам какие-либо паттерны проектирования?
19. Напишите Singleton... А с ленивой загрузкой. А если он должен быть потоко-безопасным? А в каких случаях ленивая загрузка хуже?
20. Что можете сказать про MVC? Нарисуйте диаграмму и объясните, как MVC работает.

Серия вопросов на понимание набора технологий J2EE.
21. Что такое сервлет, jsp, их отличие?
22. Что такое Ajax? Как принципиально устроена эта технология?
23. Что такое ORM, как это перевести и как это должно работать?

Простые задачи на написание алгоритмов.
24. Напишите функцию вычисления факториала.
25. Дана функция вычисления чисел Фибоначчи, известно, что она работает. Найдите логическую ошибку. Оцените сложность получившегося алгоритма.
26. Переверните строку.
27. Посчитайте среднее массива.

Полезно помнить, что, чувствуя себя не очень уверенно, не нужно говорить лишних слов. Скажешь лишнее слово, и за него цепляются, раскручивают цепочку. Раскручивают в том, в чем не очень уверен. Этой способностью людей – цепляться – нужно пользоваться, но с выгодой для себя

Знание и понимание… вещи достаточно сильно отличающиеся, поэтому
- разные алгоритмы, например сортировки, стоит написать самому, пусть даже и с учебника. Посмотреть насколько они друг от друга отличаются, сравнить их сложность.
- полезно посмотреть разные утилиты и библиотеки, принципы группировки классов в пакеты и стиль написания кода, комментирования. Очень может помочь в понимании модификаторов доступа, организации проекта.
- разбираясь в чем-нибудь конкретном, можно помочь тем, кто знает меньше. Зайти на любой форум и попытаться ответить на вопросы интересной для темы. В обсуждении можно взять что-то и для себя. Можно написать небольшую статью. Разумеется, нужно хорошо разобраться в теме.
Любая работа, направленная на повышение собственной квалификации, будет видна грамотному интервьюеру и без внимания не останется. Единственное, что говорить о ней нужно честно, не стоит преуменьшать своих возможностей и способностей.
Чтобы иметь какой-либо ориентир подготовки или развития себя как специалиста, можно смотреть на что-то похожее этому.

Собственно, перечисленные выше вопросы – это уровень Junior Developer, как я себе это представляю. Где-то, может быть, более глубоко, где-то менее, но как факт - Junior.
 
  • Страница 1 из 1
  • 1
Поиск: