предисловие
У вас есть друзья, работающие в Хэфэй? Какая у вас зарплата в Хэфэе, как у бэкэнд-разработчика Java, при трехлетнем опыте работы? Какими навыками мы должны обладать при 3-летнем опыте работы? У тебя есть планы на карьеру? Я работаю в java разработке уже больше трех лет.Говорят что программисты это срок 3 года, срок 5 лет, срок 10. Ну думаю смысл есть.
Стадии программиста
- три года
На этом этапе будет отсеяна группа людей, не подходящих для написания кода. На этом этапе мы вышли из кампуса, вошли в общество, стали программистами и официально перешли от содержания книг к реальной разработке на уровне предприятия. Мы умеем работать в команде, как использовать инструменты управления проектами, как контролировать версии проекта, как тестировать и запускать код, который мы пишем онлайн, и т.д. Мы накопили определенный опыт разработки и обладаем определенной глубиной понимание кода, это этап сравнения Pure Coder;
- пять лет
Некоторые люди в три года, помимо завершения работы, принципиально не изучают другие предметы в свободное время, эти люди всегда будут Кодерами, некоторых пожилых людей заменят более молодыми, некоторых людей в три года, кроме того, к написанию кода Помимо кода, он также увлекается изучением деталей различных технических реализаций, читает много хороших книг, ведет несколько блогов и делится технологиями на Github.Через пять лет эти люди должны иметь возможность быть технически независимыми и знать свое будущее направление развития, от кодера до системного аналитика или архитектора, становясь незаменимой фигурой в проектной команде;
- десять лет
Десять лет — еще один порог, на этом узле сменить карьеру или остаться программистом. Если в последние несколько лет вы были полны решимости не менять профессию и усердно работали для этого, то к этому моменту через десять лет некоторые люди неизбежно вырастут в человека, который имеет глубокое понимание отрасли и технологии, и может начать с нуля.Программист, который анализирует продукт, такой человек в основном занимает самые ответственные должности в компании, такие как технический директор, технический эксперт, главный архитектор и т. д. Это определенно славное дело для него, конечно, начальник также финансово Я никогда не буду относиться к тебе плохо.
Требуемые навыки
Навыки, которыми должен обладать Java-бэкенд с 3-летним опытом работы, я хочу объяснить здесь, содержание, указанное ниже, является лишь некоторыми из моих собственных мнений~
Базовые знания
Излишне говорить, что эта часть должна постоянно закрепляться. Есть некоторые вещи, которые необходимо тщательно изучить. Как только базовые знания станут прочными, будет намного проще изучать другие фреймворки. Основное внимание уделяется коллекциям, многопоточности, io и другие знания.
На станции B есть много хороших видео, например,Шан Силиконовая долинасерия статей
Для студентов, которые только приступают к разработке Java, вы можете взглянуть на следующую книгу, которая по-прежнему очень хороша.
Ссылка на сайт:disk.baidu.com/is/1J16FK кл и…
Код извлечения: ishy
Шаблоны проектирования
Всего классических паттернов проектирования 23 (сейчас их гораздо больше 23, и есть несколько вариантов), все они слишком сложны для освоения, нам нужно освоить только некоторые часто используемые, я их пометил значком маленькое красное знамя..
Шаблоны проектирования по-прежнему очень важны и полезны в работе. Разумное использование шаблонов проектирования в проектах может отлично решить многие проблемы. Каждому шаблону соответствует свой принцип в реальности, и каждый шаблон описывает повторяющуюся проблему вокруг нас, и основное решение этой Проблема заключается в том, почему шаблоны проектирования так широко используются. Здесь я рекомендую книгу брата Сяо Фу «Повторное изучение шаблонов проектирования Java». Я прочитал ее, и ее текст очень прост для понимания. Я скачал как pdf, так и исходный код, который можно загрузить с моего облачного диска Baidu:
Ссылка на сайт:
https://pan.baidu.com/s/1bMri7SgHPkwnyy1AzYSjMw
Код извлечения:
bdbu
JVM
Я думаю все же необходимо разбираться в знании JVM.В интернете тоже много видео.Пожалуйста,поделитесь несколькими ссылками.
Рамка
наиболее общийspring
,springboot
,springcloud
,mybatis
,netty
,dubbo
Есть много других фреймворков, поэтому я не буду перечислять их по одному, надо не только уметь ими пользоваться, но и знать их принципы.
Что касается базовой структуры, метод обучения великих богов таков: использовать структуру -> понять структуру -> строить колеса.
Релевантная информация
Адрес загрузки «Spring Technology Insider» и «Spring Combat»:
Ссылка на сайт:disk.baidu.com/is/19J3X ЕС JQ…
Код извлечения: zc3z
база данных
MYSQL
Это надо знать, а есть кэш-базы, типаRedis
, также очень важно, обычно его спрашивают при собеседовании с серверной частью Java.
База данных Shang Silicon Valley MySQL расширенная, оптимизация MySQL, оптимизация базы данных
Ниже представлено видео про MYSQL, которое я собрал сам, мне кажется, оно неплохое, если вам интересно, то можете его посмотреть.
Ссылка на сайт:Disk.Baidu.com/Yes/1Q2KN8S3 Просто…
Код извлечения: e8vg
знание Linux
В настоящее время большинство интернет-проектов развернуто в Linux, поэтому вы должны знать некоторые основные команды Linux и знать, как устанавливать и развертывать некоторое программное обеспечение в Linux. Во время собеседования интервьюер, как правило, спрашивает о знании Linux, чем лучше ответ, чем подробнее ответ, тем больше баллов.
Структуры данных и алгоритмы
В этой части мы должны продолжать учиться. Мы не можем быть просто фермером кода. Что такое фермер кода? В общих чертах, при написании кода бизнес-логика + фреймворк могут справиться с некоторыми потребностями нашей работы. Но если вы начинающий программист, вам все равно нужно изучать алгоритмы и структуры данных. Массивы и связанные списки являются основой. Стеки и очереди более глубоки, но не сложны. Деревья очень важны. Более важными деревьями являются деревья AVL и red- черные деревья., вы можете не понимать их конкретную реализацию, но вы должны знать, что такое бинарное дерево поиска, что такое сбалансированное дерево и чем отличается дерево AVL от красно-черного дерева. Мы можем перейти к алгоритму обучения, чтобы узнать, официальный сайт:https://leetcode-cn.com/
Релевантная информация
【Схема алгоритма】Язык этой книги интересный, и в ней много иллюстраций, что подходит для начала. Ссылка на сетевой диск электронной книги выглядит следующим образом:
Ссылка на сайт:disk.baidu.com/yes/1 из 9 1CK8P…
Код извлечения: g5vz
Сводка списков сайтов учебных ресурсов
(1) Видео сайт
- Станция B (рекомендуется):www.bilibili.com/
- Облачный класс NetEase:study.163.com/
- Компьютерная академия:www.jikexueyuan.com/
- МООК:www.imooc.com/
(2) Колонка
- Компьютерное время (рекомендуется):time.geekbang.org/
- Gitchat gitbook.cn/
(3) Гитхаб
- Карта знаний Java (рекомендуется):GitHub.com/smile Arch IT…
(4) Технический блог:
- Блог CSDN:blog.csdn.net/
- Блог Сад:www.cnblogs.com/
- Сообщество Nuggets (рекомендуется):juejin.cn/
- ИнфоВью:xie.infoq.cn/
- Думаю нет:segmentfault.com/
- Китай с открытым исходным кодом:www.oschina.net/blog
(5) Поисковая система:
- Байду:www.baidu.com/
- Google:www.google.com/
(6) Вопросы и ответы по знаниям:
- Знать (рекомендуется):www.zhihu.com/
- переполнение стека (рекомендуется):stackoverflow.com/
(7) Вопросы кисти:
- Силовая пряжка (рекомендуется):leetcode-cn.com/
- Бык:www.nowcoder.com/
(8) Облачные заметки:
- графит:shimo.im/
- Воробей:www.yuque.com/
- Облако YouDao Примечание:note.youdao.com/
- Эвернот:www.yinxiang.com/Выбор зависит от личных привычек, не рекомендуется.
(9) онлайн-чертеж:
- процессВкл:www.processon.com/
- рисунок:app.diagrams.net/Каждый из них имеет свои особенности и рекомендуется.
компьютерная сеть
Знание компьютерных сетей особенно важно для нашей java back-end разработки.Я рекомендую всем несколько хороших видео для изучения компьютерных сетей:
Вступительный экзамен в аспирантуру Вандао 2019 г. компьютерная сеть_bilibili (゜-゜)つロ Ура~-bilibili
Компьютерная сеть (Се Сижэнь, 7-е издание) - Мистер Фанг_билибили (゜-゜) つロ Ура ~-билибили
Суммировать
Как программист, то же самое и в любой другой отрасли. Необходимо продолжать учиться и принимать новые знания, чтобы не быть исключенным обществом. Как программист, я думаю, с увеличением наших рабочих лет и Влияние на жизнь Чтобы углубить наше понимание жизни, мы должны постоянно думать о трех вопросах:
- Правильно ли мне быть программистом?
- Должен ли я быть программистом до конца своей жизни?
- Как я отношусь к программированию, достаточно или просто продолжаю исследовать?
В конечном счете, четко определите свой карьерный план, возьмите на себя ответственность за свой собственный план и усердно работайте над ним. Давай вместе~