Я понимаю - это может испортить ваше ожидание собеседования. Вы начинаете считать дни, а затем часы и минуты, пока наконец не сядете со своим потенциальным работодателем, чтобы обсудить свое будущее в компании. Иногда нервозность может взять верх над вами, и вы можете оказаться в трудной ситуации, не зная, что сказать или как ответить. Однако, чтобы избежать этого и пройти интервью, вы должны прийти подготовленными. Эта статья поможет вам встретить Java собеседование во всеоружии.
Эти вопросы были разделены на несколько групп. Ответы на них помогут вам подготовиться и успешно пройти Java собеседование при приеме на работу.
Содержание
- 1. Введение
- 2. Java собеседование: Основы
- 2.1. Вопрос 1: Что такое Java?
- 2.2. Вопрос 2: Является ли Java полноценно объектно-ориентированным языком?
- 2.3. Вопрос 3: Назовите несколько преимуществ Java
- 2.4. Вопрос 4: В чем особенность Java 8?
- 2.5. Вопрос 5: Что такое access specifiers в Java?
- 2.6. Вопрос 6: Что такое constructor?
- 2.7. Вопрос 7: Что такое Object?
- 2.8. Вопрос 8: В чем разница между ‘equals()’ и ‘==’?
- 2.9. Вопрос 9: Какие объектные отсылки могут быть в Java?
- 2.10. Вопрос 10: В чем разница между JDK, JVM и JRE?
- 3. Продвинутые вопросы
- 3.1. Вопрос 1: В чем разница между ‘method overloading’ and ‘method overriding’?
- 3.2. Вопрос 2: Какой вывод у этой программы Java?
- 3.3. Вопрос 3: Возможно ли запустить программу без ‘main() method’?
- 3.4. Вопрос 4: Что такое ‘runtime polymorphism’?
- 3.5. Вопрос 5: Что такое ‘Inheritance’?
- 3.6. Вопрос 6: Назовите самый большой класс (SuperClass) из существующих в Java
- 3.7. Вопрос 7: Что значит приставка Super в Java?
- 3.8. Вопрос 8: Какой будет результат выполнения этой программы?
- 3.9. Вопрос 9: Что такое ‘association’ в Java?
- 3.10. Вопрос 10: Что такое ‘object cloning’?
- 4. Подсказки для интервью
- 5. Заключение
Введение
Мы затронем версию Java 8, сначала будут освещены более базовые вопросы, а затем уже более продвинутые. Давайте начнем с самого начала и перейдем к основам.
Последняя сделка действительна прямо сейчас:
GET 50% OFF
DataCamp Black Friday Sale
During this DataCamp Black Friday, you can access the top-rated courses with a 50% discount. Enroll now for way less!
Java собеседование: Основы
Вопрос 1: Что такое Java?
Это кажется довольно простым вопросом, не так ли? Что ж, ваш потенциальный работодатель, вероятно, ожидает четкого и однозначного ответа, поэтому давайте подготовим хотя бы один.
Java - это объектно-ориентированный, безопасный и высокоуровневый язык программирования. Он был создан и разработан еще в 1991 году человеком по имени Джеймс Гослинг. Язык Java разработан под слоганом «WORA» - «напиши один раз, запускай угодно» (write once, run anywhere). Он известен своей гибкостью и высокой эффективностью.
Вопрос 2: Является ли Java полноценно объектно-ориентированным языком?
Это вполне возможный вопрос на Java собеседование, и нет, он не полностью объектно-ориентирован. Java использует некоторые типы данных (char, byte, float), которые не являются объектами.
Вопрос 3: Назовите несколько преимуществ Java
Для начинающих программистов и разработчиков наиболее важной особенностью является простота. Считается, что функции Java довольно легко изучать и осваивать, особенно по сравнению с другими языками программирования.
Язык программирования Java также считается очень безопасным по сравнению с другими языками программирования. Это достигается благодаря интерпретатору, называемого JVM - этот интерпретатор устанавливается вместе с самой Java, и он постоянно снабжает ваш компьютер последними обновлениями безопасности из Интернета.
Кроме того, Java полностью адаптируем. Благодаря принципу «WORA», на котором основан язык Java, его можно переносить и применять на любом компьютере и операционной системе, которые вам нужны, - он полностью гибкий и многофункциональный.
Вопрос 4: В чем особенность Java 8?
На Java собеседование вам необходимо подготовить ответы на вопросы-сравнения, подобные этому. Это одно из самых крупных обновлений языка, поэтому было бы неплохо знать, в чем они заключаются.
Java 8 представила языковую поддержку для String, предоставила улучшенный Date / Time API и способствовала разработке JVM - системы, отвечающей за многие вещи в Java, включая функции Java, отвечающие за безопасность. В целом, Java 8 сделала язык программирования более доступным и более похожим на современные языки программирования.
Скорее всего на Java собеседование вы столкнетесь именно с таким вопросом. Просто имейте в виду, что Java 8 стало огромным обновлением как с точки зрения производительности, так и в плане безопасности.
Вопрос 5: Что такое access specifiers в Java?
Всего есть четыре спецификатора доступа, про которые вас могут спросить на Java собеседование. Существуют следующие спецификаторы: public (публичные), private (частные), protected (защищенные) и default (стандартные).
Публичные спецификаторы разрешают доступ к любому классу или через любой метод (отсюда и их имя). В отличие от этого, частные спецификаторы разрешают доступ только внутри самого указанного класса. Защищенный открывает доступ, который каким-то образом коррелирует с классом - либо изнутри класса, из подкласса или просто из того же пакета. Наконец, default обозначает стандартную (по умолчанию) область и разрешает доступ только из одного пакета.
Вопрос 6: Что такое constructor?
Constructor- это часть кода, которая инициализирует конкретный объект. Язык программирования Java имеет два типа конструкторов - по умолчанию и измененный.
Вопрос 7: Что такое Object?
Общий вопрос на Java собеседование. Объект в Java имеет состояние и поведение. Наиболее распространенным и понятным определением объекта является то, что это разновидность класса.
Вопрос 8: В чем разница между ‘equals()’ и ‘==’?
public class Equaltest {
public static void main(String[] args) {
String str1= new String(“HELLO”);
String str2= new String(“HELLO”);
if(Str1 == str2)
{
System.out.println("String 1 == String 2 is true");
}
else
{
System.out.println("String 1 == String 2 is false");
String Str3 = Str2;
if( Str2 == Str3)
{
System.out.println("String 2 == String 3 is true");
}
else
{
System.out.println("String 2 == String 3 is false");
}
if(Str1.equals(str2))
{
System.out.println("String 1 equals string 2 is true");
}
else
{
System.out.prinltn("String 1 equals string 2 is false");
}
}}
Вопрос 9: Какие объектные отсылки могут быть в Java?
Из всех вопросов на Java собеседование этот вопрос один из самых простых - в Java все ссылки на объекты являются нулевыми.
Вопрос 10: В чем разница между JDK, JVM и JRE?
JDK (Java Development Kit) - это комплект разработки Java. Это основной инструмент функции Java, используемый для компиляции программ на этом языке. В пакете имеются все необходимые инструменты, чтобы начать его использовать.
Я уже упоминал JVM (Java Virtual Machine) ранее - это означает виртуальная машина Java. Это машина, которая создает среду, в которой байт-код Java обрабатывается должным образом.
JRE (Java Runtime Environment)- это среда выполнения Java. Это тип среды, предоставляемый JVM - он позволяет правильную работу байт-кода Java.
Теперь, когда мы рассмотрели некоторые из основные вопросы, мы можем перейти к вопросам для опытных разработчиков и программистов. Эти вопросы в основном будут связаны с кодом.
Продвинутые вопросы
Вопрос 1: В чем разница между ‘method overloading’ and ‘method overriding’?
Одним из первых возможных базовых вопросов на Java собеседование может быть этот. В случае с ‘method overloading’ (перегрузка методов) методы, принадлежащие к одному и тому же классу, имеют одно и то же имя, но их параметры отличаются. Это касается расширений поведения метода больше всего на свете. И наоборот, подклассы ‘method overriding’ (переопределения методов) имеют методы с одинаковыми именами и параметрами. Цель здесь - изменить поведение уже существующего метода.
Просто для примера, так выглядит ‘method overloading’:
class Adder {
Static int add(int x, int y)
{
return x+y;
}
Static double add( double x, double y)
{
return x+y;
}
public static void main(String args[])
{
System.out.println(Adder.add(33,33));
System.out.println(Adder.add(16.4,16.8));
}}
А это ‘method overriding’:
class Dog {
void run(){
System.out.println(“dog is sleeping”);
}
Class Doberman extends Dog{
void run()
{
System.out.prinltn(“doberman is sleeping at night”);
}
public static void main( String args[])
{
Dog b=new Doberman();
b.run();
}
}
Вопрос 2: Какой вывод у этой программы Java?
public class Test
{
Test(int x, int y)
{
System.out.println("x = "+x+" y = "+y);
}
Test(int x, float y)
{
System.out.println("x = "+x+" y = "+y);
}
public static void main (String args[])
{
byte x = 30;
byte y = 65;
Test test = new Test(x,y);
}
}
Правильный ответ выглядит так:
a = 30 b = 65
Вопрос 3: Возможно ли запустить программу без ‘main() method’?
Довольно стандартный вопрос на Java собеседование и да, это возможно. Одним из наиболее распространенных способов выполнения такой программы является использование static block (статического блока).
Вопрос 4: Что такое ‘runtime polymorphism’?
Runtime polymorphism - это процесс, в котором конкретный вызов, отправляемый по определенному методу, будет разрешен во время выполнения, а не во время компиляции. Вот пример:
class Tree {
void run()
{
System.out.println(“tree is standing”);
}
}
class Willow extends Tree {
void run()
{
System.out.prinltn(“willow is standing on a hill”);
}
public static void main(String args[])
{
Tree b= new Willow(); //upcasting
b.run();
}
}
Вопрос 5: Что такое ‘Inheritance’?
Этот термин, честно говоря, лежит на поверхности - Inheritance - это когда один объект приобретает свойства и параметры другого (другого класса). Обсуждаемый выше метод переопределения использует это. Основная идея наследования состоит в том, что вы можете создавать новые классы на уже существующих. Существует пять различных типов наследования, но язык программирования Java поддерживает только четыре (множественное наследование не поддерживается). Почему не поддерживается множественное наследование? На самом деле есть только одна конкретная причина - упростить программу. Это должно быть важным примечанием, о которых стоит помнить для Java собеседование.
Вопрос 6: Назовите самый большой класс (SuperClass) из существующих в Java
Это один из самых простых вопросов, однако я должен также упомянуть, что это один из основных вопросов. Самый большой в Java - это объектный класс.
Вопрос 7: Что значит приставка Super в Java?
Super в Java используется как ссылка для указания на непосредственный родительский объект класса. Команду также можно использовать для вызова непосредственных родительских методов класса и конструктора.
Вопрос 8: Какой будет результат выполнения этой программы?
class Animal
{
public Animal()
{
System.out.println("Animal class constructor called");
}
}
public class Zebra extends Animal
{
public Zebra()
{
System.out.println("Zebra class constructor called");
}
public static void main (String args[])
{
Zebra e = new Zebra();
}
}
Вот такое ответ:
Animal class constructor called
Zebra class constructor called
Это очень распространенные вопросы на Java собеседование. Всегда обращайте внимание на переменные - они определяют окончательный ответ.
Вопрос 9: Что такое ‘association’ в Java?
Один из наиболее часто задаваемых вопросов о Java-программировании, на первый взгляд может показаться, что он довольно простой. Однако такие вещи, как aggregation и composition, происходят из ассоциаций (association), поэтому важно понимать этот термин.
Ассоциация (association) - это когда все объекты имеют свои жизненные циклы, а конкретный владелец не существует. Оно может варьироваться от “one” до “many”.
- Простой в использовании
- Предлагает качественный контент
- Очень открытый в своих ценах
- Бесплатные сертификаты об окончании
- Фокус на навыки науки о данных
- Гибкое расписание занятий
- Простой дизайн (без бесполезной информации)
- Хорошее качество курсов (даже бесплатных)
- Разнообразие возможностей обучения
- Программа Nanodegree
- Подходит для корпоративного обучения
- Платные сертификаты об окончании
- Известная платформа в индустрии
- Широкий спектр особенностей
- Курсы университетского уровня
- Курсы университетского уровня
- Подходит для компаний
- Платные сертификаты об окончании
Вопрос 10: Что такое ‘object cloning’?
Как вы уже заметили, многие из этих вопросов имеют ответ в своем названии. Этот не исключение.
Команда ‘object cloning’ (клонирование объекта) используется для создания идентичной копии объекта. Это делается с помощью метода clone () из класса объекта.
Итак, мы закончили с основными вопросами на Java собеседование, давайте сделаем шаг назад и поговорим об общей подготовке к собеседованию.
Подсказки для интервью
Я дам вам несколько советов, которые вы можете использовать до и во время собеседования, которые помогут вам легче пройти Java собеседование.
Даже не буду говорить, что надо выспаться и хорошо позавтракать - вы, наверное, слышали это уже по крайней мере тысячу раз. Я могу точно сказать, что вам не следует вставать в 3 утра, чтобы пересмотреть вопросы на Java собеседование, если вам назначили встречу на 8 утра. Старайтесь не думать об этом и ничего не делать за 24 часа до самого собеседования - бегло пересмотрите свои заметки по дороге на собеседование.
Кроме того, действуйте расслабленно, когда вы на собеседовании. Если работодатель видит, что вы нервничаете, он может подумать, что вы беспокоитесь, потому что у вас есть что скрывать - возможно, нехватка знаний? Не ведите себя глупо - найдите идеальный баланс между уверенностью в себе и свободой для импровизации.
И наконец, не думайте, что ваше интервью - это непреодолимая стена - вам не нужно отвечать на каждый вопрос идеально. Работодатели оценивают как ваши навыки, так и вашу личность во время собеседования. Лучше чего-то не понимать и вести себя естественно, чем притворяться и стараться выглядеть тем, кем вы не являетесь.
Вы знали?
Вы когда-либо хотели узнать, какие платформы для онлайн обучения лучше всего подходят для вашей карьеры?
Заключение
Всегда требуются специалисты в области программирования. Язык Java является одним из самых популярных языков программирования в мире (благодаря своей гибкости, безопасности и простоте). В этой статье мы разобрали вопросы на Java собеседование. Помимо этого существует много других вопросов, которые мы не охватили.
Все, что вам осталось сделать - пройти собеседование и получить работу мечты!
Я надеюсь, что вас возьмут на ту самую вакансию!