JavaRush /جاوا بلاگ /Random-UR /23 вопроса, часто задаваемых на собеседованиях
Юрий Кузнецов
سطح
Москва

23 вопроса, часто задаваемых на собеседованиях

گروپ میں شائع ہوا۔
Расскажу быстренько о себе. Мне 25 лет, родился в Крыму, г. Феодосия. Учился в техникуме городском, потом поступил в Харьков, получил диплом бакалавра и в 2014 году вернулся обратно домой. В 2014 поступил на заочное обучение на магистра (все специальности были кое-How связанны с программированием), и в 2015-м году поступил в армию на контрактную службу сроком на 3 года. После двух лет службы в армии я понял, что надо что-то менять в своей жизни... 23 вопроса, часто задаваемых на собеседованиях - 1И вот мне попадается JavaRush в декабре 2017 года, и я начинаю упорно учить Java. Летом я попадаю на курсы Topjava к Григорию, начинаю проходить каждое его занятие, и к середине сентября должны были закончатся трехмесячные курсы. В общем, в начале сентября я переезжаю в Москву с женой для поиска работы Java программистом и на сегодняшний день прошел примерно 10 собеседований. Я вам напишу то, что постоянно спрашивают и вопросы, на которых я сыпался.
  1. What такое JDK,JRE,JVM и компилятор. This is must have. Если вам зададут на собеседовании этот вопрос и вы не ответите на него, скорее всего, дальше ничего спрашивать не будут. Маленькое видео с youtube

  2. Объектно ориентированное программирование (ООП). Тут главное рассказать, что такое полиморфизм. Могут попросить перевести это слово, потом нужно рассказать его определение соответственно. Можно рассказывать все своими словами. Потом приводите свои примеры.

    Доп. литература : Полиморфизм

    Видео: Введение в ООП

  3. Множественное наследование в Java.В Java запрещено множественное наследование классов, но разрешено множественное наследование интерфейсов. О наследовании

  4. Методы класса Object (желательно каждый метод посмотреть прямо в самом codeе и обратить внимание на Equals и hashCode). Я называл так: getClass, finallize (прочитайте о нем, мало ли зададут вопрос, но запомните: How по мне — ЭТО КОСТЫЛЬ), wait (достаточно знать, что там 3 перегруженных метода) notify, notifyAll, equals и hashcode (обязательно!!! знать 4 правила equals и обязательно знать закон между equals и hashCode).

    Object Java

  5. JVM изнутри. Stack и Heap память.

    Память

  6. What за ключевое слово new и How оно работает. Материал не нашел, но у меня спрашивали о нем, а точнее, когда мы пишем к примеру

    
    A a = new A()

    что происходит перед равно и после равно?

    Перед равно у нас создается link, а после равно у нас создается с помощью ключевого слова new новый an object, который помещается в память Heap в виде набора byte.(если я не прав потом поправьте пожалуйста меня)

  7. Работа Garbage Collection — не очень часто спрашивали, но когда спрашивали начинали копать, насколько я знаю данную тему. Отличная статья на тут

  8. Порядок инициализации полей классов родителя и потомка

  9. Коллекции: приходилось рассказывать абсолютно всю иерархию и работу каждой коллекции.

    Вопрос, чем отличается List от Set. Самое главное — сказать, что из себя представляет интерфейс List. Если вы ответите, что Set — коллекция с уникальными an objectми, этого будет недостаточно.

    HashMap, HashSet — начальный размер; capacity, loadfactory, null допускается or нет? Как вычисляется ячейка для an object при работе с Hash коллекцией? Отличие HashMap от TreeMap (недостаточно сказать, что TreeMap — отсортированная коллекция, по алгоритму красно-черное дерево). Знать алгоритмы вставки, удаления, поиска o каждой коллекции. Queue, Deque, Stack — редко задавали мне вопросы о них. Нужно знать, где интерфейс, а где классы в коллекциях.

    23 вопроса, часто задаваемых на собеседованиях - 2

    Обратите внимание на то, что у Collections есть родитель Iterable

    link от нашего участника)

  10. Java 8. Абсолютно по максимуму должны выжать из себя все что знаете о "нововведениях", выпущенных 4 года назад: вот вам источник Новое в Java 8

    У меня спрашивали о consumers, function и т.п., потом спрашивали о функциональных интерфейсах, потом спрашивали, How создать свою аннотацию, что означает например @SomeAnnotation (name = .... count =....), а именно, что тут name, count и How они работают при создании своей аннотации.

  11. Generics. Все о дженериках. Спрашивают везде.

    Дженерики

  12. Потоки. Thread, Runnable, чем отличаются, How запустить поток. Все о синхронизации. Мьютексы, мониторы, класс Lock. Deadlock когда возникает, приведи те примеры.

  13. Иерархия исключений checked/unchecked, написать свой класс исключения.

    23 вопроса, часто задаваемых на собеседованиях - 3
  14. Final, finallize(опять), immutable, finally. Когда не отработает блок finally.

  15. Как запретить наследования классов (приватные конструкторы, финал класс...).

  16. IO / NIO потоки.

  17. ПАТТЕРНЫ. Выучите хотя бы 5 штук основных (mvc, factory, decorator, singleton, наблюдатель).

  18. Spring ioc, di, ioc - container. Вот вам link на практическое понимание, мне очень помогло... SPRING. Я тут по спрингу прошел до 16 главы, писав вручную весь code. Советую и вам поступить так же.

  19. Maven -> профor, артефакты, war, jar... виды scope. Какие параметры задавать надо при подключении библиотек.

    MAVEN

  20. What такое ORM? How работает? (изи ответ).

    Hibernate: How связывается с базой данных, что должно быть обязательно при создании класса Entity. Session. 3 уровня кэширования — знать. Как связать таблицу и класс entity. Связи:

    Многие ко многим, один ко многим и т.п.

    Если у нас есть связь, например, User у которого много Book. Как будет выглядеть поле в классе User и поле в классе Book (это там где указывается annotation многие ко одному и один ко многим над полями).

    What такое JPA, Howим образом он связан с Hiber. JPAQL.

    Hibernate

  21. Следующий вопрос будет по SQL. Запросы, Howие знаешь, что использовал. JOIN — внешний, внутренний, левый, правый.

    sql

    Задача из компании: 2 таблицы дано, департамент и сотрудник. Вот пример.

  22. Горизонтальное масштабирование .

    Маленькое видео на тему вертикального и горизонтального масштабирования
  23. Немного html, css, js.

  24. Git. Работа в консоли. commit, push, в чем отличие fetch от pull.

Напоследок, советую читать этот список вопросов и искать ответы самому (качаем навык "гуглить") и писать code для закрепления. P.S. : статья моя первая, так что по-любому будут недостатки, пишите, буду очень рад комментариям. Дополнительная литература, если вам этого еще не достаточно:
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION