Translate

четвер, 30 вересня 2010 р.

Чтобы пройти собеседование на Java-программиста...


Чтобы пройти собеседование на Java-программиста в серьезную компанию нужно всего три вещи:

1) Хоть какой-нибудь опыт работы Java-программистом (чтобы было, что написать в резюме).
2) Достойный уровень английского.
3) Правильно ответить на вопросы интервьюера.

В данном блоге не описано, как овладеть 1 и 2 (в общем, как и 3 :-) ). Здесь просто собраны вопросы, с которыми часто приходилось сталкиваться автору на собеседованиях. А прошел он их немало за 3 года. Вопросы разделены на тематические группы.

I. ООП
1. Назовите основные принципы ООП.
2. Что такое наследование?
3. Что такое полиморфизм? Какие проявления полиморфизма в Java Вы знаете?
4. Что такое инкапсуляция?

II. Java core
1. Опишите модификаторы доступа в Java.
2. Чем абстрактный клас отличается от интерфейса? В каких случаях Вы бы использовали абстрактный класс, а в каких интерфейс?
3. Может ли объект получить доступ к private-переменной класса? Если, да, то каким образом?
4. Какие существуют типы вложенных классов? Для чего они используются?
5. Что такое autoboxing?
6. Что такое Generics?
7. Каким образом передаются переменные в методы, по значению или по ссылке?
8. Какие методы есть у класса Object? Какие методы можно переопределять, а какие нет?
9. Правила переопределения метода Object.equals().
10. Правила переопределения метода Object.hashCode().
11. Правила переопределения метода Object.clone().
12. Что такое конструктор по умолчанию?
13. Опишите метод Object.finalize().
14. Чем отличаются слова final, finally и finalize?
15. Опишите иерархию исключений.
16. Что такое checked и unchecked Exception?
17. Как создать свой unchecked Exception?
18. Что такое Error?
19. Опишите работу блока try-catch-finally.

III. Collections framework
1. Назовите основные интерфейсы коллекций и их имплементации.
2. Чем отличается ArrayList от LinkedList? В каких случаях лучше использовать первый, а в каких второй?
3. Чем отличается HashMap от Hashtable?
4. Чем отличается ArrayList от Vector?
5. Обясните отличия между HashSet, LinkedHashSet, TreeSet.
6. Каким образом можно синхронизировать методы HashMap, ArrayList?
7. Особенности интерфейса Set.
8. Каким образом можно отсортировать коллекцию?
9. Как правильно удалить элемент из ArrayList?

IV. Multithreading

1. Каким образом можно создать поток?
2. Какие способы синхронизации в Java?
3. Как работают методы wait и notify/notifyAll?
4. Чем отличается работа метода wait с параметром и без параметра?
5. Как работает метод Thread.yield()? Чем отличаются методы Thread.sleep() и Thread.yield()?
6. Как работает метод Thread.join()?
7. Что такое dead lock?
8. Как правильно завершить работу потока? (Иногда говорять, убить поток).
9. На каком объекте происходит синхронизация при вызове static synchronized метода?
10. Для чего используется ключевое слово volatile?

V. Сериализация1. Для чего используется ключевое слово transient?
2. Как изменить стандартное поведение сериализации/десериализации?

VI. Swing1. Что такое Event Dispatch Thread (поток обработки событий)? Как он работает?
2. Как можно производить обработку событий клавиатуры в JTextField?
3. Для чего исользуется класс SwingWorkers?

VII. JDBC
1. Этапы работы с базой данных с использованием JDBC?
2. Как создать Connection?
3. Чем отличается Statement от PreparedStatement?
4. Как вызвать хранимую процедуру?
5. Как правильно закрыть Connection?

VIII. Hibernate1. Что такое lazy-initialization?

IX. JSP, Servlets
1. Чем отличается redirect от forward?
2. Как сделать redirect незаметно для пользователя?
3. Какие скоупы переменных существуют в JSP?
4. Какие есть методы отправки данных с клиента на сервер? Чем они отличаются?
5. Методы сервлета (обычно имеется ввиду HttpServlet).
6. Чем статический include отличается от динамического? (вопрос по JSP)
X. EJB
1. Какие есть типы бинов?
2. Какие есть типы session bean'ов?

XI. Базы данных
1. Что такое нормализация.
2. Какие есть типы связей в базе данных. Приведите пример.
3. Что такое primary key (первичный ключ)?
4. Что такое foreign key (внешний ключ)?
5. Что такое индексы в базе данных? Для чего их используют? Чем они хороши и чем плохи?

XII. SQL
1. Какие есть типы JOIN'ов. Кратко опишите каждый из типов.
2. Что такое LEFT JOIN, RIGHT JOIN? Чем они отличаются?
3. Для чего используется слово HAVING?
4. Задача: есть две сущности АВТОРЫ и КНИГИ, связь М-М (многие к многим). Создайте структуру таблиц для этих сущностей и напишите запрос, который выберет всех авторов, которые НЕ являются соавторами ни к одной из книг.
Звідси

вівторок, 28 вересня 2010 р.

looking for Java web developer


Symphony Solutions, western-oriented and fast growing IT company is now looking for Java web developer.  We are looking for someone loving java and web technologies, able to provide new idea and at the same time respect team rules. Knowledge of BI is a big plus.

Вакансія: Mid Java developer , досвід: 2+, компанія: Symphony Solutions,
Рекрутер Галина Коваліско
h.kovalisko@gmail.com
skype: halyna.kovalisko
ICQ#: 297-624-787
Більше інформацію шукайте за наступним посиланнями
http://www.work.ua/jobs/647809/

пʼятницю, 10 вересня 2010 р.

Russian Linux




Java Developers' Day 2010 (JDD)


Міжнародна конференція з програмування в Java - Java Developers' Day 2010 (JDD)
Java Developers' Day 2010 (День Розробників Java) – це найбільша конференція з
програмування в Java в Польщі. Вперше конференція була організована в 2006 році в
Кракові, з 2009 року вона отримала статус міжнародної. На JDD збирається більше 400
розробників Java, розробників програмного забезпечення, системних архітекторів, ІТ-
фахівців, директорів та менеджерів ІТ-відділів, а також студентів і любителів програмування
в Java.
JDD це найкращі технічні доповіді, що лунають з уст кращих фахівців з усього світу. JDD
гості були вже інші. Брюс Еккель, Білл Берк, Тед Ньюард, Ніл Форд, Марк Річардс, Скотт
Девіс, Адам Бьен і Йонас Бонер.
В цьому році JDD проходить 7-8 жовтня в Кракові (Польща). У ході конференції виступить
Лінда Райзінґ – добре відомий всім експерт, що займається в основному Agile, проектними
зразками та об'єктно-орієнтованим програмуванням. Нашим гостем знову буде Тед Ньюард –
незалежний консультант, що спеціалізується на корпоративних системах, які створюються як
для великих корпорацій так і для малих підприємств, автор кількох книг, у тому числі
загальновідомої "Effective Enterprise Java".
Це єдина можливість, заплативши 95 євро, послухати майже 20 цікавих лекцій
протягом двох днів конференції, а також брати участь у семінарах експертів світового
класу, таких як Лінда Райзінґ і Тед Ньюард.
Запрошуємо Вас на наш веб-сайт: www.jdd.org.pl