0

Несколько месяцев изучаю Java и окружающую инфраструктуру. Столкнулся с тем, что информация в русскоязычном интернете более или менее понятна. Но когда слушаю, к примеру, записи собеседований, просматриваю тесты попадается очень много узких вопросов на которые нет ответа в статьях про Hello World. Да и в "Философии Java" нет. (конечно если загуглить конкретный вопрос, то всё можно найти, но в целом получается, что глубина знаний крайне низкая). Ну и это касается не только Java как таковой, но и всего, что я изучал: Junit, Mockito, Maven, Spring и т.д. Английские технические статьи понимаю с трудом. Но как-то начал понимать...

Вопрос:

  1. Как вы изучаете новые для себя технологии? Сплошняком читаете документацию? Выборочно читаете документацию? Или достаточно общего понимания, а потом ищите ответ на конкретный вопрос и решение конкретной задачи? На сколько глубоко копать? Откуда берётся этот кругозор на узкие места, если во всевозможных обучалках этого нет?
  2. Для прокачки навыка чтения тех литературы на английском хочу начать читать документацию Java. Собственно порекомендуйте подход - читать всё подряд(полагаю там масса лишней и не очень актуальной сейчас информации и хрен это всё перечитаешь)/читать про изученные API/может есть разделы с которых стоит начать и которые надо обязательно прочитать?
Bolgov
  • 27
  • 2
    Изучать теорию без практики это трата времени. Поэтому я считаю более продуктивным подход "есть задача - ищем решение" – Arty Morris Feb 18 '21 at 05:23

1 Answers1

2
  1. Новые технологии изучаются через теорию + практику. Не особо важно как вы получаете теорию - выбирайте любой способ, который вам подходит. Хотите - книги читайте, хотите - документацию, или можете смотреть курсы. Практику тоже можете хоть свои проекты пилить или помогать пилить чужие.

  2. Здесь все расписно, что вам надо знать. Хотите - читайте на английском все это.

Если говорить в общем, то вы путаете причину и следствие. Если вам надо делать проект, у которого есть конкретные требования, то вам надо читать доку по этим требованиям. Например, если вам надо делать что то на Spring - вам его и надо читать. Если вам надо делать там аутентификацию/авторизацию - то эти разделы и надо читать.

Но если вам надо собеседование пройти, то это другой вопрос. К собеседованию надо готовиться как к проекту - собрать требования, разделы, что вам надо знать. Вам же ничего не мешает поискать вакансии, там требования расписаны - вот вам и необходимые технологии. Информации по вопросам на собеседованиях море. Можете готовиться к конкретной вакансии, можете готовиться к массе собеседований. Выберите несколько вакансий, попробуйте пройти собеседования, запишите вопросы, что вам задавали, попросите от компании фидбек, что вам надо подучить.

Ещё имейте ввиду, на кого вы собеседоваться собрались. Если на junior разработтчика, то вам светит жесткая конкуренция. Потому, чем лучше вы подготовитесь, тем больше у вас шансов найти работу. Но если вы расчитываете, что потыкав палкой в java пару месяцев, компании начнуть сами за вас бороться, вас ждет разочарование.

Кругозор берется из опыта работы. Чем больше проектов у вас было, тем больше проблем вы решили. Вы можете также поискать другие источники кругозора - например, исследуя чужой код, исследуя SDK код, даже банально если вы на этом сайте будете решать вопросы, писать ответы, то вы наберете с этого также опыта.

Если же вы строите себе какое то IT образование и у вас полно времени, то выбирайте онлайн курсы или ищите образовательную программу по вашей предпочитаемой специальности, стройте свой фундамент знаний. Без фундаментальных вещей ваши чтения документации не имеют особой пользы. Зная, как работают алгоритмы, структуры данных, память, процессор, имея представление об основах БД, архитектуре, паттернах, принциах, и т.д. вы не только сможете запомнить как и что написано в JDK или в каких то проектах, так ещё и осознаете почему оно написано именно так, а не иначе.

tym32167
  • 32,857
  • Вроде и ни чего нового, но всё в кучу собрали, я на верном пути) В целом понял, что ставить цель - перечитать всю документацию так себе затея. Ок, спасибо) Пошёл дальше Pet-проект делать) PS: и да - цель это джуниорская позиция. И с конкуренцией уже столкнулся... – Bolgov Feb 18 '21 at 06:05
  • ну так а вы ожидали каких то секретных лайфхаков? Их нет. Вот я, например, люблю все планировать. Ставить цели, залачи, отследивать выполнение и вот это вот всё. Но эо работает для меня. А для кого то это не работает. Я также читаю очень быстро, при этом я уже прочитал всю основную базовую литературу, что нужна программисту. Потому для меня изучение Java для работы старшим разработчиком заняло, ну где то месяцев 6. При этом я мог писать приложения на Java сразу же, мне не надо было вообще читать SDK. Но для вас это не сработает, ведь у вас другой опыт и другие знания. – tym32167 Feb 18 '21 at 06:19