Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Необходимые знания для Java junior-разработчик 
:(
    Опции темы
igoriusus
Дата 17.3.2010, 09:40 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 17.3.2010

Репутация: нет
Всего: нет



Уважаемые форумчане.
Пожалуйста подскажите, что конкретно надо знать и уметь чтобы устроиться Java junior-разработчиком? А то глаза разбегаются от количества информации. Заранее извиняюсь за глупый вопрос.
PM MAIL   Вверх
jk1
Дата 17.3.2010, 09:59 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 40
Всего: 75



Ориентируйтесь на вопросы, которые будут задавать на собеседованиях. Есть, например, такая подборка:
Цитата

Базовые вопросы о 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.



Список определенно не полный, но в качетсве roadmap для начальной подготовки вполне подходит.


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
igoriusus
Дата 17.3.2010, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 17.3.2010

Репутация: нет
Всего: нет



jk1 спасибо за информацию.
PM MAIL   Вверх
batigoal
Дата 17.3.2010, 12:13 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Вот список вещей/областей, о которых я обычно спрашиваю на собеседованиях. Этот список, разумеется, не означает, что всё это нужно знать, тем более джуниору smile   Более того, по J2EE я и вопросы толком-то задать не могу, поскольку сам им не владею. По некоторым вопросам (типа Xpath или bug-tracking systems) спрашиваем просто "да/нет", исключительно чтобы сформировать у себя представление о кругозоре и опыте кандидата. По другим, вроде SQL, Java-коллеций, data structures и OOA/D спрашиваем более подробно, с вопросами, задачами и отвлеченными рассуждениями.

Цитата

Database
    SQL
    Oracle (specific features & entities)
    Hibernate
    JDBC

Java
    collections
    multithreading
    reflection
    Swing

Data structures

Java Enterprise
    servlets
    JSP
    custom tags
    EJB 3.0
    AppServers (JBoss, WebLogic)
    Web services
    Java Transaction API
    JAAS

XML Processing
    SAX/DOM
    DTD
    XML Schema
    XSL
    XPath

Tools & processes
    Ant
    IDEs
    UNIX
    Version control systems
    bug-tracking systems
    Development processes (iterative, waterfall)
    OOA/D
    UML
    Patterns

HTML
JavaScript

ActionScript

Причины ухода с прошлой работы
Предпочтительный род занятий


Добавлю, что такой странный набор разделов Java обусловлен не тем, что эти скиллы нужны в наших задачах (reflection сто лет не нужен), а просто чтобы была отправная точка для разговора. Ну и кроме того, там можно порассуждать, поработать мозгами.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0688 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.