SlideShare a Scribd company logo
Write a program that
prints the numbers from 1 to 100.
But for multiples of three print “Fizz” instead of the
number
and for the multiples of five print “Buzz”.
For numbers which are multiples of both three and
five print “FizzBuzz”.
Что это было?
The "Fizz-Buzz test" is an interview question designed
to help filter out the 99.5% of programming job
candidates who can't seem to program their way out
of a wet paper bag.
http://wiki.c2.com/?FizzBuzzTest
Нынче даже есть тюториалы на эту задачу, как на
HelloWorld!

Video: How to write FizzBuzz in Ruby, with Test-
Driven Development - http://youtu.be/CHTep2zQVAc
Что надо заметить по
условию задачи?
• А какая разница, до 100 или до 1000? Ведь число
100 это всего лишь символ! Что изменится, если
будем выводить от 0 до 16; от -50 до 50?
• Деление и на 3 и на 5 это отдельный случай или
он вообще не нужен?
Собеседование на
позицию Java Developer
Александра Дмитренко
Цель
Пройти собеседование,
понять свои ошибки и как
правильно себя вести
Задачи на час
посмотреть основное, что спрашивают Java
разработчиков на собеседованиях
как себя позиционировать в этот ответственный
момент
какие вопросы задать собеседующему?
а также, что отвечать американскому
таможеннику ;)
Какие мысли вас побуждают
прийти на собеседование?
Устроиться на работу (ходил бы я на «экзамены»
иначе?)
Проверить свои знания, и понять «на что я
гожусь»
Посмотреть, что нынче на рынке в цене и куда мне
надо двигаться.
Первое
Подготовим себя к
собеседованию
Тренды
• Java, C# как обычно :)
• JavaScript, Python, Scala, NodeJS, ReactJS
• БД реляционные и нет нужны всем и всегда.
• Cloud, Security, DevOps
Что не в моде
• PHP, Perl, Assembler, Flex, Flash
• manual QA
Как надо учить?
После прочтения любой информации вы должны
знать ответы на следующие вопросы:
О чем я узнал
Зачем это используется
Принцип работы (желательно попробовать)
Плюсы-минусы
Достаточно ли так учить?
Нет, поскольку такие знания дают лишь общее
понимание и возможность подумать над
специфичным вопросом. (Подумать над вопросом и
предположить что-то это разное. Чтоб думать, надо
иметь материал для размышления.)


Еще надо иметь свой конек.
Инструкция действий перед
собеседованием
1. Сядьте/встаньте широко, чтоб занять
собой побольше места, ощутите силу в
себе. Fake it ill you make it ->
Тестостерон (могущество, власть)
повысится, кортизол (боязнь) понизится.
2. Почувствуйте желание и интерес пройти
собеседование, ведь вас хотят увидеть, услышать,
узнать! И вы захотите!
Второе
Собеседование
Играем в открытую:
можно подсказывать, выкрикивать,
если очень надо, и шутить 😉 
Зачем нужна JVM?
Зачем: дает возможность выполнять
одинаковый код на любом устройстве, где
установлена. "Write once, run debug everywhere"
Принцип работы: перевести писанину дева в
байт код (свой язык) и читать его где угодно.
Плюсы/минусы: 

+ универсальность 

- надо устанавливать дополнительно

- могла бы быть быстрее
Разница между Java и C#
• C# официально работает только для Windows, а
Java для всех ОС
• С# как язык более развитый, а Java требуются
библиотеки для достижения аналогичного
синтаксиса языка
• Для Java есть много больше фреймворков и
развитая community.
ArrayList vs LinkedList
В 90% случаев используйте ArrayList.
LinkedList удобен только для вставки/удаления из
середины массива.

HashMap
• Сложность поиска может быть О(1), О(n),
O(log(n))
Exceptions
• Проверяемые - которые можно предсказать и
обработать их появление блоком try-catch или
явно пробрасывать более общим методам
(FileNotFoundException)
• Непроверяемые - могут «случайно» случится во
время выполнения программы
(NullPointerException)
Иерархия Throwable
Модель памяти Java
Деревья
Зачем: дает возможность разделить данные,
чтоб их легче было найти
Плюсы/минусы: 

+ ускоряет поиск 

- любой дополнительный алгоритм добавляет
сложность
https://www.linkedin.com/pulse/software-engineer-detained-several-hours-us-customs-given-fairchild
Что нынче спрашивают при
въезде в Штаты
Сложность алгоритмов О()
• 1 (const) - обращение к элементу массива,
вставка в HashTable
• n - проход по массиву или обращение к элементу
LinkedList()
• log(n) - древовидная структура (бинарный поиск)
• n^2 - вложенный цикл (пузырьковая сортировка)
• n^e - поиск оптимального пути на графе
Пример задачи
Написать и определить сложность алгоритма
записи слова задом наперед используя цикл.
Его величество Spring
Зачем: DI - Dependency Injection: объекты обритают
значения, заданные из-вне. Позволяет в зависимости от
настроек подставлять разные значения в те же классы.
Принцип работы: Используя конструкторы, геттеры и
сеттеры внедряются значения в классы.
Плюсы/минусы: 

+ дает возможность конфигурировать проект по сути не
влазя в его код, что удобно хотябы для разработки и
тестирования с разными настройками 

+/- дает возможность на лету менять реализацию даже
стандрартных методов. В итоге не всегда очевидна логика.

- работает через рефлекшин, что замедляет работу
REST
Зачем: Передача запрос-ответ информации и
статуса выполнения
Принцип работы: использует т.н. глаголы
GET, POST, PUT и DELETE для передачи
действия над сопровождающей информацией.
Плюсы/минусы: 

+ легкий, быстрый, не нуждается в некой
структуре передаваемого сообщения 

- для общения только между двумя точками
SOAP
Зачем: Передача запрос-ответ информации и статуса
выполнения
Принцип работы: использует XML - строго
типизированный шаблон для передачи иформации.
Плюсы/минусы: 

+ стандартизирован, предусматривает разные варианты 

+ позволяет общатся более чем двум точкам

+ в случае ошибки сам информирует, как ее исправить

- не все любят работать с XML, может вылиться в
тяжелую логику только понимания ответа и написания
запроса.
SQL
Зачем: хранит данные
Принцип работы: имеет структуру таблиц, с
заданными ограничениями (триггерами) и позволяет
хранить процедуры обработки данных.
Плюсы/минусы: 

+ удобна для хранения консистентной информации,
особенно если пользоваться нормальными
формами.

- тратится много места бессмысленно, если
информация «блуждающаяя» (не всегда есть)
NoSQL
Зачем: хранит данные
Принцип работы: в файлах хранится только
значимая информация.
Плюсы/минусы: 

+ удобна для хранения большого количества
информации, при том, что записываются
только непустые значения, для BigData

- менее легко начать пользоваться, еще не
достаточно развит.
ORM (Hibernate)
Зачем: Репрезентирует структуру БД в коде
программы, дает возможность писать запросы
не через SQL а через общий интерфейс для
разных баз, создавать базу по структуре.
Maven
Зачем и Принцип работы: с помощью файла
pom.xml по прописанным библиотекам и структуре
проекта, мавеном может загружать бибилиотеки,
собирать проект учитывая заданные настройки,
генерировать документацию, запускать тесты…
Плюсы/минусы:

+ мавен операции дают возможность не прописывать
конкретики запустить билд, как необходимо в Ant

- не учитывает разницу между прошлой и текущей
сборкой, не имеет механизма подгрузки из кэша
сделанных задач, возможно, с других компьютеров,
как Gradle.
Должна быть гордость,
нет скромности
1. Гордость за свои достижения,
ну и достижения тоже (GitHub)
2. За скромность потом бывает
мучительно обидно, 

жалко и стыдно перед 

собой же. А ведь мог же
похвастаться!
Будет ли проблемой найти
общий язык с собеседующим?
Что собеседующего интересует
(по пирамиде Маслоу)?
1. Зарплата - не очень, не всегда (физический уровень)
2. Проблемы на вашей текущей работе (плохой начальник,
неприятный коллектив) - неа.
3. Кто вы такой, к какой соц группе принадлежите? - пожалуй,
да. Ведь он ищет человека в команду, все должно сростись!
4. В идеале ему интересно, чтоб вы подошли работе, чтоб вам
ее было в меру интересно делать и чтоб он не переживал,
что может вас потерять в любой момент.
5. Тот ли вы человек, который поможет заказчику Get Things
Done и проект состоялся?
Предлагайте себя как возможность
развития / роста проекта
Не как индус-паттерн
Пытайтесь понять, к чему ведет собеседующий,
задавая свой вопрос. Если вы догадались и сами
расскажете ответы на его будущее вопросы -
вы выиграли битву!
Зачем знать, о чем проект, если вы
заранее согласны на любой или что
спросить собеседующего?
1. Как будет выглядеть моя каждодневная работа?
2. Как производится слежка за качеством кода, пишутся ли
тесты, есть ли CI, какие метрики?
3. Как ищутся/находятся баги? Сколько их? Какой процесс
фикса?
4. Какими фреймворками пользуетесь? Сколько времени
занимает настройка среды разработки?
5. Какие у вас сроки? Is your hair always on fire?
6. Ходите ли вы на team-buildings?
Что собеседующему нравится о его
работе?
Хороший ответ
• Приятно делать мою работу
• Нам на работе весело
• Мои коллеги умные, интересные и дружелюбные
• Менеджмент уважает инженеров
Слабый ответ
Надо платить по счетам. Работа не пыльная. Сильно никто не
ругает. Особо нет напряга. Молчание.
Общие советы
• Читайте новости, будет прекрасно, если вы
расскажете собеседующему что-то «из
последнего».
• Покажите, что вы разнопланово развиты, ведь
чем больше у вас способностей, тем полезнее вы
можете быть. Но уделять достойное место
профессии все равно надо.
Кому достался
хрустальный микрофон?
Тому, кто не переживал и не стремился к
нему, кто просто был искренним и
достаточно хорошим.
Что вы ожидали, когда шли
на доклад?
Что я вас научу ответам на вопросы, которые
задают на собеседовании?
Что я хотя бы дам знания, какую информацию
нужно готовить?
Что я научу себя правильно вести?
Что вы получили от доклада?
(10 сек надо подумать)
Руководство к действиям:
• Создать аккаунт на GitHub и что-то новое
выучить, усовершенствовать имеющиеся.
• Найти перед кем и показать себя и свои знания,
быть оценённым, когда наступит момент
готовности.
• Желание быть достойным самого лучшего.
Полезные ссылки
• Соберись, «тряпка»: https://www.ted.com/playlists/352/
talks_to_watch_before_a_job_in
• Вопросы собеседующему: https://
medium.freecodecamp.com/how-to-interview-as-a-
developer-candidate-b666734f12dd
• Выбор между REST и SOAP https://blog.smartbear.com/
apis/understanding-soap-and-rest-basics/
• Коллекции: https://habrahabr.ru/post/162017/
• Ну и читайте документацию ;)
Как меня найти
• Twitter: @LadyInIT
• LinkedIn, Facebook: Olexandra Dmytrenko

More Related Content

What's hot (20)

PPTX
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Ontico
 
PPTX
BlackBox testing
beched
 
PDF
От заката до рассвета | Максим Безуглый | Zlit Tech
Zlit
 
PDF
Мульти-блиц выступление на Стачка-2012
Alexey Mahotkin
 
PPTX
Jpoint 2017 - как это было (обзор конференции)
CleverDATA
 
PPT
Генерация программы поведения игрового персонажа по естественно-языковой спец...
Спецсеминар "Искусственный Интеллект" кафедры АЯ ВМК МГУ
 
PPTX
How to Put Automation Engineers Down
Þorgeir Ingvarsson
 
PDF
Joker2014
Igor Kmets
 
PPTX
Basics of assertions in automated testing
Þorgeir Ingvarsson
 
PPTX
Как писать на PHP и не стать быдло-кодером
Kirill Kovalchuk
 
PPTX
Какой у вас Agile: свежевыжатый или порошковый?
Stas Fomin
 
PPTX
Writing a computer vision paper
Anton Konushin
 
PDF
Extrproj
Vitaly Lipatov
 
PPTX
Эффективные email коммуникации
Denis Tsvettsih
 
PDF
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
HappyDev
 
PPTX
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
Dmytro Zharii
 
PPTX
UI Automation Patterns: "Sleep" Pattern
Þorgeir Ingvarsson
 
PDF
Про то, что (лекция для студентов об адаптации к работе)
Alexey Rybak
 
PDF
Mortal Sins and Guilty Pleasures of Automation Engineers
Þorgeir Ingvarsson
 
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Ontico
 
BlackBox testing
beched
 
От заката до рассвета | Максим Безуглый | Zlit Tech
Zlit
 
Мульти-блиц выступление на Стачка-2012
Alexey Mahotkin
 
Jpoint 2017 - как это было (обзор конференции)
CleverDATA
 
Генерация программы поведения игрового персонажа по естественно-языковой спец...
Спецсеминар "Искусственный Интеллект" кафедры АЯ ВМК МГУ
 
How to Put Automation Engineers Down
Þorgeir Ingvarsson
 
Joker2014
Igor Kmets
 
Basics of assertions in automated testing
Þorgeir Ingvarsson
 
Как писать на PHP и не стать быдло-кодером
Kirill Kovalchuk
 
Какой у вас Agile: свежевыжатый или порошковый?
Stas Fomin
 
Writing a computer vision paper
Anton Konushin
 
Extrproj
Vitaly Lipatov
 
Эффективные email коммуникации
Denis Tsvettsih
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
HappyDev
 
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
Dmytro Zharii
 
UI Automation Patterns: "Sleep" Pattern
Þorgeir Ingvarsson
 
Про то, что (лекция для студентов об адаптации к работе)
Alexey Rybak
 
Mortal Sins and Guilty Pleasures of Automation Engineers
Þorgeir Ingvarsson
 

Similar to Собеседование на позицию Java Developer (20)

PPTX
Pedalim vacancy IT HR
IT-HR Club
 
PPTX
XP Days Ukraine 2014 - Refactoring legacy code
Dmytro Mindra
 
PPTX
Developmentmanage3.0
WRider
 
PDF
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Образовательные мероприятия "Netpeak Talks"
 
PPT
Презентация: 1С-Bitrix — как начать
Dmitriy Polisadov
 
PPTX
Developmentmanage1.0
HighLoad2009
 
PDF
2 bdw.key
antishmanti
 
PDF
Product discovery. Наши шишки и успехи
Nikita Efimov
 
PPT
JavaTalks.Unit Testing.Part 1
sgdread
 
PPTX
Ошибки начинающих Tdd практиков, плюсы применения
zheldak
 
PPTX
MagicPlot @ UXSPb @ IT Global Meetup #7
Alexander Levantovsky
 
PDF
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Yandex
 
PDF
Инструменты разные нужны, инструменты разные важны
Roman Dvornov
 
PDF
"Outside In". Web application testing.
Mad Devs
 
PDF
Интернет в помощь команде разработчиков культурно массового мероприятия
nomoretears
 
PDF
Володимир Дем’яненко, «How to become a Test Automation Engineer. My way»
Sigma Software
 
PPTX
разработка бизнес приложений (7)
Alexander Gornik
 
PDF
Jbreak 2016: Твой личный Spring Boot Starter
Aleksandr Tarasov
 
PPTX
Какой фреймворк нам нужен для Web? Денис Цыплаков
Alex Tumanoff
 
Pedalim vacancy IT HR
IT-HR Club
 
XP Days Ukraine 2014 - Refactoring legacy code
Dmytro Mindra
 
Developmentmanage3.0
WRider
 
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Образовательные мероприятия "Netpeak Talks"
 
Презентация: 1С-Bitrix — как начать
Dmitriy Polisadov
 
Developmentmanage1.0
HighLoad2009
 
2 bdw.key
antishmanti
 
Product discovery. Наши шишки и успехи
Nikita Efimov
 
JavaTalks.Unit Testing.Part 1
sgdread
 
Ошибки начинающих Tdd практиков, плюсы применения
zheldak
 
MagicPlot @ UXSPb @ IT Global Meetup #7
Alexander Levantovsky
 
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Yandex
 
Инструменты разные нужны, инструменты разные важны
Roman Dvornov
 
"Outside In". Web application testing.
Mad Devs
 
Интернет в помощь команде разработчиков культурно массового мероприятия
nomoretears
 
Володимир Дем’яненко, «How to become a Test Automation Engineer. My way»
Sigma Software
 
разработка бизнес приложений (7)
Alexander Gornik
 
Jbreak 2016: Твой личный Spring Boot Starter
Aleksandr Tarasov
 
Какой фреймворк нам нужен для Web? Денис Цыплаков
Alex Tumanoff
 
Ad

More from Olexandra Dmytrenko (9)

PPTX
R2DBC - Good Enough for Production?
Olexandra Dmytrenko
 
PPTX
Playing programming with kids and bb-8
Olexandra Dmytrenko
 
PDF
Playing Programming with Kids and BB-8
Olexandra Dmytrenko
 
PDF
Память в Java. Garbage Collector
Olexandra Dmytrenko
 
PDF
Рекурсия. Поиск
Olexandra Dmytrenko
 
PPTX
HTML Tables
Olexandra Dmytrenko
 
PPT
Functional Programming
Olexandra Dmytrenko
 
PPT
Discovering Lambdas (Speech)
Olexandra Dmytrenko
 
R2DBC - Good Enough for Production?
Olexandra Dmytrenko
 
Playing programming with kids and bb-8
Olexandra Dmytrenko
 
Playing Programming with Kids and BB-8
Olexandra Dmytrenko
 
Память в Java. Garbage Collector
Olexandra Dmytrenko
 
Рекурсия. Поиск
Olexandra Dmytrenko
 
HTML Tables
Olexandra Dmytrenko
 
Functional Programming
Olexandra Dmytrenko
 
Discovering Lambdas (Speech)
Olexandra Dmytrenko
 
Ad

Собеседование на позицию Java Developer

  • 1. Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”.
  • 2. Что это было? The "Fizz-Buzz test" is an interview question designed to help filter out the 99.5% of programming job candidates who can't seem to program their way out of a wet paper bag. http://wiki.c2.com/?FizzBuzzTest Нынче даже есть тюториалы на эту задачу, как на HelloWorld!
 Video: How to write FizzBuzz in Ruby, with Test- Driven Development - http://youtu.be/CHTep2zQVAc
  • 3. Что надо заметить по условию задачи? • А какая разница, до 100 или до 1000? Ведь число 100 это всего лишь символ! Что изменится, если будем выводить от 0 до 16; от -50 до 50? • Деление и на 3 и на 5 это отдельный случай или он вообще не нужен?
  • 4. Собеседование на позицию Java Developer Александра Дмитренко
  • 5. Цель Пройти собеседование, понять свои ошибки и как правильно себя вести
  • 6. Задачи на час посмотреть основное, что спрашивают Java разработчиков на собеседованиях как себя позиционировать в этот ответственный момент какие вопросы задать собеседующему? а также, что отвечать американскому таможеннику ;)
  • 7. Какие мысли вас побуждают прийти на собеседование? Устроиться на работу (ходил бы я на «экзамены» иначе?) Проверить свои знания, и понять «на что я гожусь» Посмотреть, что нынче на рынке в цене и куда мне надо двигаться.
  • 9. Тренды • Java, C# как обычно :) • JavaScript, Python, Scala, NodeJS, ReactJS • БД реляционные и нет нужны всем и всегда. • Cloud, Security, DevOps
  • 10. Что не в моде • PHP, Perl, Assembler, Flex, Flash • manual QA
  • 11. Как надо учить? После прочтения любой информации вы должны знать ответы на следующие вопросы: О чем я узнал Зачем это используется Принцип работы (желательно попробовать) Плюсы-минусы
  • 12. Достаточно ли так учить? Нет, поскольку такие знания дают лишь общее понимание и возможность подумать над специфичным вопросом. (Подумать над вопросом и предположить что-то это разное. Чтоб думать, надо иметь материал для размышления.) 
 Еще надо иметь свой конек.
  • 13. Инструкция действий перед собеседованием 1. Сядьте/встаньте широко, чтоб занять собой побольше места, ощутите силу в себе. Fake it ill you make it -> Тестостерон (могущество, власть) повысится, кортизол (боязнь) понизится. 2. Почувствуйте желание и интерес пройти собеседование, ведь вас хотят увидеть, услышать, узнать! И вы захотите!
  • 15. Играем в открытую: можно подсказывать, выкрикивать, если очень надо, и шутить 😉 
  • 16. Зачем нужна JVM? Зачем: дает возможность выполнять одинаковый код на любом устройстве, где установлена. "Write once, run debug everywhere" Принцип работы: перевести писанину дева в байт код (свой язык) и читать его где угодно. Плюсы/минусы: 
 + универсальность 
 - надо устанавливать дополнительно
 - могла бы быть быстрее
  • 17. Разница между Java и C# • C# официально работает только для Windows, а Java для всех ОС • С# как язык более развитый, а Java требуются библиотеки для достижения аналогичного синтаксиса языка • Для Java есть много больше фреймворков и развитая community.
  • 18. ArrayList vs LinkedList В 90% случаев используйте ArrayList. LinkedList удобен только для вставки/удаления из середины массива.

  • 19. HashMap • Сложность поиска может быть О(1), О(n), O(log(n))
  • 20. Exceptions • Проверяемые - которые можно предсказать и обработать их появление блоком try-catch или явно пробрасывать более общим методам (FileNotFoundException) • Непроверяемые - могут «случайно» случится во время выполнения программы (NullPointerException)
  • 23. Деревья Зачем: дает возможность разделить данные, чтоб их легче было найти Плюсы/минусы: 
 + ускоряет поиск 
 - любой дополнительный алгоритм добавляет сложность
  • 25. Сложность алгоритмов О() • 1 (const) - обращение к элементу массива, вставка в HashTable • n - проход по массиву или обращение к элементу LinkedList() • log(n) - древовидная структура (бинарный поиск) • n^2 - вложенный цикл (пузырьковая сортировка) • n^e - поиск оптимального пути на графе
  • 26. Пример задачи Написать и определить сложность алгоритма записи слова задом наперед используя цикл.
  • 27. Его величество Spring Зачем: DI - Dependency Injection: объекты обритают значения, заданные из-вне. Позволяет в зависимости от настроек подставлять разные значения в те же классы. Принцип работы: Используя конструкторы, геттеры и сеттеры внедряются значения в классы. Плюсы/минусы: 
 + дает возможность конфигурировать проект по сути не влазя в его код, что удобно хотябы для разработки и тестирования с разными настройками 
 +/- дает возможность на лету менять реализацию даже стандрартных методов. В итоге не всегда очевидна логика.
 - работает через рефлекшин, что замедляет работу
  • 28. REST Зачем: Передача запрос-ответ информации и статуса выполнения Принцип работы: использует т.н. глаголы GET, POST, PUT и DELETE для передачи действия над сопровождающей информацией. Плюсы/минусы: 
 + легкий, быстрый, не нуждается в некой структуре передаваемого сообщения 
 - для общения только между двумя точками
  • 29. SOAP Зачем: Передача запрос-ответ информации и статуса выполнения Принцип работы: использует XML - строго типизированный шаблон для передачи иформации. Плюсы/минусы: 
 + стандартизирован, предусматривает разные варианты 
 + позволяет общатся более чем двум точкам
 + в случае ошибки сам информирует, как ее исправить
 - не все любят работать с XML, может вылиться в тяжелую логику только понимания ответа и написания запроса.
  • 30. SQL Зачем: хранит данные Принцип работы: имеет структуру таблиц, с заданными ограничениями (триггерами) и позволяет хранить процедуры обработки данных. Плюсы/минусы: 
 + удобна для хранения консистентной информации, особенно если пользоваться нормальными формами.
 - тратится много места бессмысленно, если информация «блуждающаяя» (не всегда есть)
  • 31. NoSQL Зачем: хранит данные Принцип работы: в файлах хранится только значимая информация. Плюсы/минусы: 
 + удобна для хранения большого количества информации, при том, что записываются только непустые значения, для BigData
 - менее легко начать пользоваться, еще не достаточно развит.
  • 32. ORM (Hibernate) Зачем: Репрезентирует структуру БД в коде программы, дает возможность писать запросы не через SQL а через общий интерфейс для разных баз, создавать базу по структуре.
  • 33. Maven Зачем и Принцип работы: с помощью файла pom.xml по прописанным библиотекам и структуре проекта, мавеном может загружать бибилиотеки, собирать проект учитывая заданные настройки, генерировать документацию, запускать тесты… Плюсы/минусы:
 + мавен операции дают возможность не прописывать конкретики запустить билд, как необходимо в Ant
 - не учитывает разницу между прошлой и текущей сборкой, не имеет механизма подгрузки из кэша сделанных задач, возможно, с других компьютеров, как Gradle.
  • 34. Должна быть гордость, нет скромности 1. Гордость за свои достижения, ну и достижения тоже (GitHub) 2. За скромность потом бывает мучительно обидно, 
 жалко и стыдно перед 
 собой же. А ведь мог же похвастаться!
  • 35. Будет ли проблемой найти общий язык с собеседующим?
  • 36. Что собеседующего интересует (по пирамиде Маслоу)? 1. Зарплата - не очень, не всегда (физический уровень) 2. Проблемы на вашей текущей работе (плохой начальник, неприятный коллектив) - неа. 3. Кто вы такой, к какой соц группе принадлежите? - пожалуй, да. Ведь он ищет человека в команду, все должно сростись! 4. В идеале ему интересно, чтоб вы подошли работе, чтоб вам ее было в меру интересно делать и чтоб он не переживал, что может вас потерять в любой момент. 5. Тот ли вы человек, который поможет заказчику Get Things Done и проект состоялся?
  • 37. Предлагайте себя как возможность развития / роста проекта
  • 38. Не как индус-паттерн Пытайтесь понять, к чему ведет собеседующий, задавая свой вопрос. Если вы догадались и сами расскажете ответы на его будущее вопросы - вы выиграли битву!
  • 39. Зачем знать, о чем проект, если вы заранее согласны на любой или что спросить собеседующего? 1. Как будет выглядеть моя каждодневная работа? 2. Как производится слежка за качеством кода, пишутся ли тесты, есть ли CI, какие метрики? 3. Как ищутся/находятся баги? Сколько их? Какой процесс фикса? 4. Какими фреймворками пользуетесь? Сколько времени занимает настройка среды разработки? 5. Какие у вас сроки? Is your hair always on fire? 6. Ходите ли вы на team-buildings?
  • 40. Что собеседующему нравится о его работе? Хороший ответ • Приятно делать мою работу • Нам на работе весело • Мои коллеги умные, интересные и дружелюбные • Менеджмент уважает инженеров Слабый ответ Надо платить по счетам. Работа не пыльная. Сильно никто не ругает. Особо нет напряга. Молчание.
  • 41. Общие советы • Читайте новости, будет прекрасно, если вы расскажете собеседующему что-то «из последнего». • Покажите, что вы разнопланово развиты, ведь чем больше у вас способностей, тем полезнее вы можете быть. Но уделять достойное место профессии все равно надо.
  • 42. Кому достался хрустальный микрофон? Тому, кто не переживал и не стремился к нему, кто просто был искренним и достаточно хорошим.
  • 43. Что вы ожидали, когда шли на доклад? Что я вас научу ответам на вопросы, которые задают на собеседовании? Что я хотя бы дам знания, какую информацию нужно готовить? Что я научу себя правильно вести?
  • 44. Что вы получили от доклада? (10 сек надо подумать) Руководство к действиям: • Создать аккаунт на GitHub и что-то новое выучить, усовершенствовать имеющиеся. • Найти перед кем и показать себя и свои знания, быть оценённым, когда наступит момент готовности. • Желание быть достойным самого лучшего.
  • 45. Полезные ссылки • Соберись, «тряпка»: https://www.ted.com/playlists/352/ talks_to_watch_before_a_job_in • Вопросы собеседующему: https:// medium.freecodecamp.com/how-to-interview-as-a- developer-candidate-b666734f12dd • Выбор между REST и SOAP https://blog.smartbear.com/ apis/understanding-soap-and-rest-basics/ • Коллекции: https://habrahabr.ru/post/162017/ • Ну и читайте документацию ;)
  • 46. Как меня найти • Twitter: @LadyInIT • LinkedIn, Facebook: Olexandra Dmytrenko