Изучение серверной технологии ничем не отличается от изучения любой другой технологии. Поэтому также разумно сменить тему на то, как изучать технологии. Подводя итог, вот несколько предложений:
- Твердые основы компьютера
- Зная, что это больше, чтобы знать, почему
- Руки
- практиковать часто
- непрерывное обучение
- резюме
- Институт планирования
Твердые основы компьютера
- Структуры данных и алгоритмы. Программы состоят из данных и алгоритмов, поэтому эти две вещи составляют основу компьютерного программного обеспечения. Такие как B-деревья, хеш-таблицы, стеки, семь алгоритмов сортировки и алгоритмы поиска можно увидеть в коде многих программ. Иногда разница между хорошим инженером и средним инженером заключается в том, можно ли разумно использовать соответствующие структуры данных и алгоритмы.
- Компьютерная операционная система. Можно сказать, что операционная система представляет собой комплексную программу. Планирование ресурсов, планирование задач, планирование операций ввода-вывода, процессная коммуникация и т. д. — каждый проект имеет очень важное значение, а также является источником идей для многих других проектов прикладного программного обеспечения.
- Компьютерная сеть: В настоящее время большинство программ с функцией передачи данных неотделимы от сети. Дизайн семиуровневого или четырехуровневого стека сетевых протоколов очень тонок. Понимание того, как устанавливаются и отключаются сетевые подключения, а также значение каждого состояния подключения, может быть полезным при устранении неполадок, связанных с сетью программы.
- Принцип компоновки компьютера: Это нижняя часть компьютера, а также основа всего в компьютере. Знание этого поможет демистифицировать ваш компьютер.В конце концов, компьютер, соответствующий принципу фон Неймана, представляет собой не что иное, как хранение данных и упорядоченное выполнение программ.
Выше приведены некоторые из наиболее распространенных курсов базовых знаний для компьютерных специальностей. Здесь я должен сказать, что, хотя компьютерные курсы в крупных колледжах и университетах относительно отсталые, эти базовые курсы не сильно изменились за многие годы, поэтому их необходимо освоить, несмотря ни на что. Возможно, вы не чувствовали особой пользы, когда учились в школе. Однако в реальных разработках способность овладеть прочными базовыми знаниями часто определяет верхний предел инженера-разработчика.Это также причина, по которой многие крупные интернет-компании, будь то школьный или социальный набор, сосредотачиваются на некоторых проверках базовых знаний. В конце концов, то, что вы будете использовать, определяет только ваш нижний предел, а ваши базовые знания и способность к обучению определяют верхний предел.
此外,其实很多平时开发中的一些技术都可以类比到一些基础知识的。 For example, the caching technology we often use to improve query performance is the same as the CPU Cache designed to be compatible with mismatched CPU and IO speeds; the inter-process communication method in the operating system and the asynchronous and synchronous communication between services It's почти то же самое.诸如此类,其实计算机科学基础凝聚了很多精华的设计,无论是计算机硬件架构、计算机操作系统还是计算网络。
Зная, что это больше, чтобы знать, почему
Я часто встречаю инженеров, которые приходят на собеседования, они написали много проектов в резюме и использовали много технологий, как бы я на них ни смотрел, они очень хорошие кандидаты. Однако стоит интервью углубиться в принципиальный или оптимизационный уровень, как многие инженеры и даже старшие архитекторы некоторых компаний будут колебаться, отвечая на вопросы или не обращая внимания. Наиболее часто можно услышать объяснение, что бизнес-давление слишком занято, и нет времени изучать это. На самом деле, по моему собственному опыту, причиной является занятость в бизнесе, но нехватка времени определенно является оправданием, ведь хотя чтение исходного кода проекта требует времени, но выход в Интернет не занимает много времени. чтобы увидеть существующий принцип анализа. В конечном счете еще нет базового сознания, которое знает, что есть и должно знать, почему. Вам будет очень интересно научиться пользоваться многими вещами, но задумывались ли вы когда-нибудь, как реализованы такие захватывающие функции? Самый простой пример, HashMap в Java, используется всеми, но как он это реализует? Многие люди даже не знают, какое это имеет отношение к хеш-таблицам в классе структур данных, не говоря уже о том, чтобы рассказать ему, как разрешать конфликты.
Это также можно сопоставить с текущим явлением: многие инженеры-разработчики работают долгое время и кажутся опытными, но в основном они повторяют n лет с одним годом опыта работы. В основном каждая работа, каждый проект предназначен для дублирования работы, и он не думает о том, как избежать дублирования работы.
Далее, помимо столкновений с проблемами, переходить к исходникам и идти до конца, активно читать исходники классических библиотек классов, качественные опенсорсные проекты и код, написанный другими коллегами, и изучать хорошую архитектуру, дизайн , стиль кодирования и использование библиотек классов.Очень эффективный способ продвижения собственного технического прогресса.
Это также включает в себя широту и глубину технологии. Насколько я понимаю, для инженеров, которые только закончили школу или только что пришли на работу, самое главное - это глубина, только когда у вас есть глубокие исследования и достижения в определенной области, вы можете интегрировать и быстро расширять свои знания. , совершать прорывы вширь. Для инженеров с определенным стажем работы, хотя глубина и не столь необходима, лучше докопаться до возникших проблем и вновь познанных вещей, иначе при возникновении проблемы идти к слепой овце чинить тюрьму будет сделать вас очень пассивным., и не способствует их собственному технологическому развитию. Ведь человек, который все сделал, все использовал и ни на что не годится, слишком заменим.
Руки
В области обучения есть так называемая модель 721: 70% личного роста происходит от практики на работу, 20% от обучения от других и 10% от обучения. Хотя эта теория является противоречивой, автор кажется разумной оценкой важности практики, обучения и обучения для программистов. Широко признанная лучшая практика для техники обучения - «обучение проектам» или практики практики. Многие технологии, просто читая книгу, вы будете в тумане, и вы это забудете. Вы должны использовать эту технику в своей собственной практике или проекте, прежде чем вы сможете быстро освоить и стать опытным. Кроме того, круг друзей и Weibo теперь полон так называемых сухой продукции. Многие люди читают много информации и думают, что они получили много товаров. На самом деле, они никогда не практиковали вещи внутри. Даже иногда просто вздохнуть, чтобы другие люди действительно удивительны. Настоящие сухие товары должны быть расщеплены собой, а один из лучших способов пищеварения - это практика, будь то примеры в материалах или знания, которые были приняты.
практиковать часто
Практика поможет вам быстро приступить к работе, но только частая практика сделает вас опытным.
Теория «Десять тысяч часов говорит о какой-либо отрасли десять тысяч часов практики, чтобы стать экспертом по крайней мере. Сначала не оспаривайте эту теорию правильно, вы можете подумать о том, когда вы долго не пишите код, или у вас нет технического ребренда, связанного с целесообразным развитием, такого рода ни странности, вероятно, все должно понять. Видимый для развития этой роли, насколько важно там часто практика.
Конечно, частая практика здесь не означает повторяющуюся работу. Вы должны практиковать свое собственное мышление и думать о том, почему вы это делаете? Есть ли способ лучше?
непрерывное обучение
Фраза «живи, пока не состаришься, учись стареть» идеально подходит для профессии программиста. ИТ-технологии, особенно технологии развития Интернета, их итерация происходит очень быстро. Возможно, то, что вы узнаете сегодня, будет забыто через несколько лет. Хотя серверная технология относительно стабильна по сравнению с интерфейсной технологией, скорость итерации по-прежнему очень высока по сравнению с другими отраслями, а такая запутанная технология, как Struts, уже устарела. Поэтому мы должны быть чувствительны к новым вещам и новым технологиям и постоянно изучать новейшие знания в отрасли, чтобы расширять нашу базу знаний.
Еще один момент, о котором следует упомянуть, — это «побег из зоны комфорта». Люди дружелюбно относятся к вещам, с которыми они знакомы, и, как правило, они могут уверенно использовать технологии, которыми они владеют. потерять свои знания Новые знания, возможность расширить свою базу знаний. Лучший способ — осмелиться «выйти из зоны комфорта» и использовать новые технологии, чтобы иметь постоянный интерес к обучению и способствовать постоянному прогрессу.
резюме
Я считаю, что многие люди часто сталкиваются с какими-то проблемами в своей обычной работе, а затем решают их, консультируясь с онлайн-материалами, спрашивая коллег, глядя в исходный код, и когда они сталкиваются с похожими проблемами или даже с теми же проблемами снова, они все равно находятся в замешательстве. вода. Не говоря уже о проблеме с памятью, большая причина такой ситуации в том, что нет сводки. Конечно, краткое изложение здесь относится не только к записи проблем, с которыми вы обычно сталкиваетесь, но и к поиску существенных причин проблем, как избежать тех же проблем и какое вдохновение и выгоды можно получить от них. Делая шаг вперед, вам часто нужно организовывать свои знания, полученные за определенный период времени, в систему или интегрировать их в свою собственную систему знаний, чтобы вы могли делать выводы из одного случая и иметь доказательства для подражания, когда вы сталкиваетесь с та же проблема.
Методы включают в себя заметки о себе, ведение блога, публикацию. Среди них, чем делать заметки, вести блог, я делюсь более рекомендуемым способом. В конце концов, общение с другими, с одной стороны, может побудить вас подвести итоги качества контроля, а с другой стороны, поделиться знаниями с другими, чтобы дать «чувство чести», в свою очередь, вызовет некую положительную обратную связь. делает вас более готовы рассмотреть и поделиться.
Институт планирования
Я обычно разговариваю со многими инженерами о планировании карьеры, некоторые из них имеют четкое представление о своем карьерном пути, но большинство из них понятия не имеют и просто думают, что хорошо зарабатывать деньги, чтобы содержать свою семью. Очевидно, что первое принадлежит людям, у которых есть планы, для таких людей их усилия целенаправленны, поэтому путь, по которому они идут, будет более практичным и устойчивым.
Для НИОКР институт планирует очень важную черту. План может быть разделен на долгосрочное планирование и краткосрочное планирование. Вышеупомянутое заявление о карьере - это долгосрочное планирование должно устанавливать свое собственное видение пути вперед. Поскольку рост за пять лет, как подтверждающий сервисный архитектор, можно рассматривать как долгосрочное планирование. Я владею долгосрочным планированием следующим образом:
- До 35 лет вы можете заниматься только тем, что может повысить ваш технический уровень и стать признанным экспертом в определенной технической области.
- Никогда не присоединяйтесь к компании или команде, с которой вы не согласны за деньги.
Для краткосрочного планирования, это некоторые конкретные навыки, продвижение по службе, планирование обучения. Например, авторский учебный план на прошедший год включает:
- Технология обучения машины может стать «инженером настройки параметров».
- Укрепить свои собственные управленческие навыки, может привести к хорошей работе отдела.
- Завершите чтение десяти книг, включая «Взлом для роста» и «Концепция и проектирование распределенной системы».
Следует отметить, что для этого краткосрочного плана необходимо установить более разумный, с доступностью, но также установить приоритет, чтобы выполнить шаг за шагом в соответствии с приоритетом. Кроме того, план не мертвый, его можно гибко корректировать в соответствии с реальной ситуацией.
Как изучить новую технологию
Вышеизложенное в основном описывает, как изучать технологии на макроуровне, и когда дело доходит до изучения новой технологии, на самом деле есть законы, которым нужно следовать. Как показано ниже:
Поскольку во многих технологиях есть много модулей, а исходный код очень сложен, много раз, глядя на исходный код, вы зацикливаетесь на нем, и чем больше вы на него смотрите, тем больше вы не можете понять правила. , так что вот типичный процесс «просмотра исходного кода»:
- Прочтите документацию по архитектуре технологии, чтобы понять ее общую архитектуру и структуру.
- Согласно общей структуре, файлы исходного кода классифицируются на модули или верхние и нижние уровни.
- Выберите наиболее независимый (наименее зависимый) код модуля из модулей, которые вы еще не читали.
- Этот модуль описывает функцию чтения документа.
- Прочтите исходный код этого модуля.
- Организуйте отношения вызовов (в виде таблицы или дерева) по мере чтения.
- Перейти к третьему шагу.
Суммировать
Программист — это система карьеры с пирамидальной структурой, чем выше уровень, тем меньше людей и тем сложнее его достичь. Как показано ниже:
Шаг за шагом к вершине пирамиды требуется постоянное обучение и прогресс, включая правильное отношение, правильный путь и непрерывные усилия. Эта статья - всего лишь тело автора, и это также то, что я практиковал. Кроме того, есть также много других отличных методов и идей для продвижения этого процесса.
Адаптировано из книги «Java-инженеры, практикующие дорогу».
Эту книгу можно рассматривать как руководство по адаптации для инженеров Java, а также как справочное руководство по подключению очков навыков бэкэнда Java. Благодаря тщательно организованному контенту новые инженеры Java могут систематически изучать соответствующие навыки разработки, а опытные инженеры Java могут проверять и заполнять пробелы, укреплять свои соответствующие навыки разработки и дополнительно совершенствовать свою собственную технологическую систему Java.
Адрес покупки:Товар. Jingdong .com / 12325207. Договоры ...