Техническое интервью Java Developer - Артем Таужнянский

 

Сегодня, к вашему вниманию долгожданный выпуск серии "Технических интервью" и в наших гостях Артем Таужнянский из далекого и теплого города Одесса :) Артем учится в политехническом университете и увлекается программированием. Он фанат классического образования и в тоже время не игнорирует различные курсы для повышения собственной квалификации, потому настоятельно всем рекомендует время от времени их проходить. Если говорить о технической составляющей, то Артем обладает хорошими знания Java, SQL и других языков программирования: С\С++, C#, PHP, Python. Особенно круто, что он занимается Java уже почти год и это дает ему хорошие шансы получить первую работу. В настоящее время, Артем готовится искать первую работу и рассчитывает, что наше интервью даст ему понимание о слабых и сильных сторонах, позволит перебороть стресс и заранее подготовиться к прохождению грядущих технических интервью. 00:00 Введение 01:37 Знакомство 10:05 Преимущества использования ООП 11:40 Отношения "Являюсь" и "Имею" в ООП 16:18 Где лучше применить Наследование и Ассоциацию? 17:56 Класс vs. Объект vs. Интерфейс 20:08 Различие примитивных и ссылочных типов данных 22:30 Класс Object и его методы 23:02 Finalize vs. Finally vs. Final 25:20 Ключевое слово final для статического метода 25:50 Контракт между методами equals и hashcode 28:10 Что лежит в основе иерархии исключений 29:15 Разница между проверяемыми и непроверяемыми исключениями 29:40 Почему throws в сигнатуре метода плохо? 31:35 Как правильно выбрасывать исключения? 32:45 Почему выбрасывать RuntimeException плохо? 34:55 InputStream и OutputStream. Как они устроены 37:43 Класс File и его устройство 41:35 Экземпляр класса File содержит только путь к файлу? 43:03 Как избежать принудительную обработку IOException? 46:15 Что такое AutoCloseable и конструкция try-with-resources? 49:37 В чем идея многопоточной среды и что она решает? 50:05 Атомарность и Консистентность 52:25 Почему Java Memory Model важно при работе с многопоточностью? 54:30 Ключевое слово volatile и связанные с ним проблемы 57:25 Synchronized vs. Lock 59:25 Интерфейс Callable. Отличие от Runnable 1:01:18 Преимущества реализаций ExecutorService 1:02:50 Проблема Hashtable и почему появился HashMap? 1:04:05 Потокобезопасные коллекции 1:06:53 Массив байтов как ключ для HashMap. В чем проблема? 1:14:10 Comparator vs. Comparable и их связь с коллекциями 1:20:53 CHAR vs. VARCHAR в SQL 1:23:07 SQL vs. NoSQL 1:27:50 Ограничения (Constraints) в SQL 1:28:45 Автоматическая инкрементация в разных БД 1:29:38 Нормализация БД 1:31:28 Транзакции в БД. Принцип ACID. Уровни изоляции 1:36:30 Уровни изоляции транзакций в БД 1:38:32 Идея фреймворка Hibernate 1:39:16 JPQL vs. HQL 1:42:04 Связи (отношения) в Hibernate. Каскадные операции 1:50:40 На чем основывается Spring Framework? 1:51:48 Как аннотации можно использовать для создания бинов? 1:53:01 Какая ценность аннотации @Bean? 1:53:40 Основные Spring Scope. Singleton и Prototype 1:56:28 Что такое BeanDefinition и зачем он нужен? 1:59:35 Как из Spring-приложения обратиться к другому сервису? 2:01:20 В чем ценность Spring Boot? 2:02:12 Стартеры в Spring Boot 2:03:20 Выводы 2:09:10 Прощание Наш сайт:
Мы в социальных сетях:
  / jetbulb     / jetbulb.it