Привет, это я, Леха, Идущий к IT 🖐
Вы получили доступ к easyoffer.ru подписавшись на этот канал.
Нас здесь уже почти 4000 backender'ов 😮 , надеюсь сайт помогает вам с хантингом офферов
Теперь на этом канале будут общебекендерские штуки, типа разбора вопросов с собесов по git, docker, базам данных, паттернам проектирования, linux. Может какие-нибудь интерактивные тесты, ну и просто полезный контент на тему backend разработки.
Ну и еще у канала есть чат, предлагаю обсудить в нем "Какой язык программирования самый лучший?", "Чем Windows круче Mac?" и "Кого первым заменит AI в ближайшие пол года?"
Вы получили доступ к easyoffer.ru подписавшись на этот канал.
Нас здесь уже почти 4000 backender'ов 😮 , надеюсь сайт помогает вам с хантингом офферов
Теперь на этом канале будут общебекендерские штуки, типа разбора вопросов с собесов по git, docker, базам данных, паттернам проектирования, linux. Может какие-нибудь интерактивные тесты, ну и просто полезный контент на тему backend разработки.
Ну и еще у канала есть чат, предлагаю обсудить в нем "Какой язык программирования самый лучший?", "Чем Windows круче Mac?" и "Кого первым заменит AI в ближайшие пол года?"
❤41👍28🔥10
Подборка дорожных карт по всем существующим ИТ-специальностям
Developer Roadmap содержит интерактивные дорожные карты, руководства и другие образовательные материалы, которые помогут новичкам разобраться, с чего начать изучение стека и какой объем знаний нужно иметь в запасе, чтобы устроиться на работу.
Ссылка на GitHub
Developer Roadmap содержит интерактивные дорожные карты, руководства и другие образовательные материалы, которые помогут новичкам разобраться, с чего начать изучение стека и какой объем знаний нужно иметь в запасе, чтобы устроиться на работу.
Ссылка на GitHub
🔥28👍6❤1
Что надо ввести для проверки состояния локального репозитория после последнего коммита?
Anonymous Quiz
13%
git check
80%
git status
4%
git diff
2%
git commit
😁24👍2
Каковы семь уровней в системной модели OSI?
Такие специфические вопросы требуют прямых фактических ответов. Интервьюеры используют их для оценки ваших базовых знаний сетевых терминов и процессов. В своем ответе постарайтесь продемонстрировать как теоретические, так и практические знания.
Физический уровень (Physical Layer): Занимается передачей неструктурированных данных через физическую среду. Определяет характеристики физического соединения, включая типы кабелей, радиосвязь и т.д.
Канальный уровень (Data Link Layer): Отвечает за установление, поддержание и завершение надёжного соединения между двумя соседними узлами сети. Также обеспечивает коррекцию ошибок, которые могли возникнуть на физическом уровне.
Сетевой уровень (Network Layer): Управляет устройствами и маршрутами, по которым данные будут передаваться через сеть. Этот уровень отвечает за маршрутизацию пакетов данных между разными сетями.
Транспортный уровень (Transport Layer): Обеспечивает прозрачную передачу данных между узлами сети, контролируя размер, последовательность и целостность пакетов данных. Также отвечает за контроль над потоком данных и их восстановление в случае ошибок.
Сеансовый уровень (Session Layer): Управляет сессиями связи между приложениями на разных узлах сети, обеспечивая установление, управление и завершение сессий.
Представительский уровень (Presentation Layer): Отвечает за представление данных, обеспечивая их преобразование между форматом, понятным приложению, и сетевым форматом. Также может заниматься шифрованием и сжатием данных.
Прикладной уровень (Application Layer): Предоставляет интерфейсы и протоколы для приложений, используемых для обмена данными через сеть. Этот уровень включает в себя различные сетевые службы, такие как передача файлов, электронная почта и базы данных.
Такие специфические вопросы требуют прямых фактических ответов. Интервьюеры используют их для оценки ваших базовых знаний сетевых терминов и процессов. В своем ответе постарайтесь продемонстрировать как теоретические, так и практические знания.
Физический уровень (Physical Layer): Занимается передачей неструктурированных данных через физическую среду. Определяет характеристики физического соединения, включая типы кабелей, радиосвязь и т.д.
Канальный уровень (Data Link Layer): Отвечает за установление, поддержание и завершение надёжного соединения между двумя соседними узлами сети. Также обеспечивает коррекцию ошибок, которые могли возникнуть на физическом уровне.
Сетевой уровень (Network Layer): Управляет устройствами и маршрутами, по которым данные будут передаваться через сеть. Этот уровень отвечает за маршрутизацию пакетов данных между разными сетями.
Транспортный уровень (Transport Layer): Обеспечивает прозрачную передачу данных между узлами сети, контролируя размер, последовательность и целостность пакетов данных. Также отвечает за контроль над потоком данных и их восстановление в случае ошибок.
Сеансовый уровень (Session Layer): Управляет сессиями связи между приложениями на разных узлах сети, обеспечивая установление, управление и завершение сессий.
Представительский уровень (Presentation Layer): Отвечает за представление данных, обеспечивая их преобразование между форматом, понятным приложению, и сетевым форматом. Также может заниматься шифрованием и сжатием данных.
Прикладной уровень (Application Layer): Предоставляет интерфейсы и протоколы для приложений, используемых для обмена данными через сеть. Этот уровень включает в себя различные сетевые службы, такие как передача файлов, электронная почта и базы данных.
👍31❤6
👾 Топ вопросов с технического собеседования
🔒 База реальных собесов
🔒 База тестовых заданий
👾 Список менторов
👩💻 DevOps
├ Вопросы собесов
├ Вакансии
└ Тесты
🖥 Data Science
├ Вопросы собесов
├ Вакансии
└ Тесты
👩💻 С#
├ Вопросы собесов
├ Вакансии
├ LeetCode ответы
└ Тесты
👩💻 Kotlin
├ Вопросы собесов
├ Вакансии
├ LeetCode ответы
└ Тесты
👩💻 Swift
├ Вопросы собесов
├ Вакансии
├ LeetCode ответы
└ Тесты
👣 Golang
├ Вопросы собесов
├ Вакансии
├ LeetCode ответы
└ Тесты
👩💻 С/С++
├ Вопросы собесов
├ Вакансии
├ LeetCode ответы
└ Тесты
👩💻 PHP
├ Вопросы собесов
├ Вакансии
├ LeetCode ответы
└ Тесты
🖥 Frontend
├ Вопросы собесов
├ Вакансии
├ LeetCode ответы
└ Тесты
🖥 Тестировщик
├ Вопросы собесов
├ Вакансии
└ Тесты
🖥 Python
├ Вопросы собесов
├ Вакансии
├ LeetCode ответы
└ Тесты
👩💻 Java
├ Вопросы собесов
├ Вакансии
├ LeetCode ответы
└ Тесты
👾 Список менторов
├ Вопросы собесов
├ Вакансии
└ Тесты
├ Вопросы собесов
├ Вакансии
└ Тесты
├ Вопросы собесов
├ Вакансии
├ LeetCode ответы
└ Тесты
├ Вопросы собесов
├ Вакансии
├ LeetCode ответы
└ Тесты
├ Вопросы собесов
├ Вакансии
├ LeetCode ответы
└ Тесты
├ Вопросы собесов
├ Вакансии
├ LeetCode ответы
└ Тесты
├ Вопросы собесов
├ Вакансии
├ LeetCode ответы
└ Тесты
├ Вопросы собесов
├ Вакансии
├ LeetCode ответы
└ Тесты
├ Вопросы собесов
├ Вакансии
├ LeetCode ответы
└ Тесты
├ Вопросы собесов
├ Вакансии
└ Тесты
├ Вопросы собесов
├ Вакансии
├ LeetCode ответы
└ Тесты
├ Вопросы собесов
├ Вакансии
├ LeetCode ответы
└ Тесты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37🔥3
Что такое YAGNI
«You Aren’t Gonna Need It / Вам это не понадобится»
Всегда реализуйте функции только тогда, когда они вам реально нужны, а не тогда, когда вам кажется, что они вам понадобятся в будущем. Чем сильнее вы распыляетесь, тем более неуправляемым и невостребованным станет проект.
Этот принцип применим и при рефакторинге. Если вы занимаетесь рефакторингом метода, класса или файла, не бойтесь удалять лишние методы. Даже если раньше они были полезны – теперь они не нужны.
«You Aren’t Gonna Need It / Вам это не понадобится»
Всегда реализуйте функции только тогда, когда они вам реально нужны, а не тогда, когда вам кажется, что они вам понадобятся в будущем. Чем сильнее вы распыляетесь, тем более неуправляемым и невостребованным станет проект.
Этот принцип применим и при рефакторинге. Если вы занимаетесь рефакторингом метода, класса или файла, не бойтесь удалять лишние методы. Даже если раньше они были полезны – теперь они не нужны.
👍26❤1
Подборка обучающих игр Awesome Learn by Playing
В этом репозитории собраны ссылки на игры и геймифицированные учебные материалы, которые помогут легко и быстро освоить:
• CSS
• JavaScript
• Git
• HTML
• Regex
• Ruby, Python, Scala
• Приемы защиты и взлома
Ссылка на GitHub
В этом репозитории собраны ссылки на игры и геймифицированные учебные материалы, которые помогут легко и быстро освоить:
• CSS
• JavaScript
• Git
• HTML
• Regex
• Ruby, Python, Scala
• Приемы защиты и взлома
Ссылка на GitHub
🤔10❤4
Почему глобальные переменные это зло, а поля класса нет?
• Глобальные переменные в большинстве случаев нарушают инкапсуляцию. К ним открыт неконтролируемый доступ отовсюду.
• В большом проекте при обилии глобальных переменных возникает путаница в именах. Глобальную переменную же видно отовсюду, надо, чтобы отовсюду было понятно, зачем она.
• Глобальные переменные в большинстве случаев нарушают принцип инверсии зависимостей (или делают возможным его нарушение).
• Глобальные переменные ухудшают масштабируемость проекта.
• Глобальные переменные ухудшают читаемость кода (в каком-то конкретно взятом месте непонятно, нужна ли какая-то конкретная глобальная переменная, или нет).
• Глобальные переменные приводят к трудноуловимым ошибкам. Примеры: нежелательное изменение её значения в другом месте/другим потоком, ошибочное использование глобальной переменной для промежуточных вычислений из-за совпадения имен, возвращение функцией неправильного значения при тех же параметрах (оказывается, она зависима от глобальной переменной, а ее кто-то поменял).
• Глобальные переменные создают большие сложности при использовании модульного тестирования.
• Глобальные переменные увеличивают число прямых и косвенных связей в системе, делая её поведение труднопредсказуемым, а её саму - сложной для понимания и развития.
• Глобальные переменные в большинстве случаев нарушают инкапсуляцию. К ним открыт неконтролируемый доступ отовсюду.
• В большом проекте при обилии глобальных переменных возникает путаница в именах. Глобальную переменную же видно отовсюду, надо, чтобы отовсюду было понятно, зачем она.
• Глобальные переменные в большинстве случаев нарушают принцип инверсии зависимостей (или делают возможным его нарушение).
• Глобальные переменные ухудшают масштабируемость проекта.
• Глобальные переменные ухудшают читаемость кода (в каком-то конкретно взятом месте непонятно, нужна ли какая-то конкретная глобальная переменная, или нет).
• Глобальные переменные приводят к трудноуловимым ошибкам. Примеры: нежелательное изменение её значения в другом месте/другим потоком, ошибочное использование глобальной переменной для промежуточных вычислений из-за совпадения имен, возвращение функцией неправильного значения при тех же параметрах (оказывается, она зависима от глобальной переменной, а ее кто-то поменял).
• Глобальные переменные создают большие сложности при использовании модульного тестирования.
• Глобальные переменные увеличивают число прямых и косвенных связей в системе, делая её поведение труднопредсказуемым, а её саму - сложной для понимания и развития.
❤14👍6
Что такое фабричный метод
Приведем аналогию: Одна кадровичка не в силах провести собеседования со всеми кандидатами на все должности. В зависимости от вакансии она может делегировать разные этапы собеседований разным сотрудникам.
Это способ делегирования логики создания объектов (instantiation logic) дочерним классам.
В классо-ориентированном программировании (class-based programming) фабричным методом называют порождающий шаблон проектирования, использующий генерирующие методы (factory method) для решения проблемы создания объектов без указания для них конкретных классов. Объекты создаются посредством вызова не конструктора, а генерирующего метода, определённого в интерфейсе и реализованного дочерними классами либо реализованного в базовом классе и, опционально, переопределённого (overridden) производными классами (derived classes).
Приведем аналогию: Одна кадровичка не в силах провести собеседования со всеми кандидатами на все должности. В зависимости от вакансии она может делегировать разные этапы собеседований разным сотрудникам.
Это способ делегирования логики создания объектов (instantiation logic) дочерним классам.
В классо-ориентированном программировании (class-based programming) фабричным методом называют порождающий шаблон проектирования, использующий генерирующие методы (factory method) для решения проблемы создания объектов без указания для них конкретных классов. Объекты создаются посредством вызова не конструктора, а генерирующего метода, определённого в интерфейсе и реализованного дочерними классами либо реализованного в базовом классе и, опционально, переопределённого (overridden) производными классами (derived classes).
👍6🤔1
Как сделать снимок текущего состояния изменений проекта?
Anonymous Quiz
12%
git add
5%
git init
41%
git stage
42%
git commit
Коллекция качественных бесплатных ИТ-курсов для новичков и профессионалов
freeCodeCamp – некоммерческая благотворительная организация, которая предлагает множество курсов по различным направлениям, включая:
• Адаптивный веб-дизайн (HTML/CSS/JS)
• Алгоритмы и структуры данных (на JavaScript)
• Фронтенд-разработка (Bootstrap, jQuery, Sass, React и т.д.)
• Визуализация данных с D3.js
• Реляционные базы данных
• Бэкенд-разработка (Node.js, Express.js, MongoDB, Mongoose)
• QA и тестирование
• Научные вычисления и анализ данных на Python
• Машинное обучение
Совместно с Microsoft платформа предоставляет бесплатный курс (с выдачей сертификата) по C#.
Ссылка на сайт проекта
freeCodeCamp – некоммерческая благотворительная организация, которая предлагает множество курсов по различным направлениям, включая:
• Адаптивный веб-дизайн (HTML/CSS/JS)
• Алгоритмы и структуры данных (на JavaScript)
• Фронтенд-разработка (Bootstrap, jQuery, Sass, React и т.д.)
• Визуализация данных с D3.js
• Реляционные базы данных
• Бэкенд-разработка (Node.js, Express.js, MongoDB, Mongoose)
• QA и тестирование
• Научные вычисления и анализ данных на Python
• Машинное обучение
Совместно с Microsoft платформа предоставляет бесплатный курс (с выдачей сертификата) по C#.
Ссылка на сайт проекта
Что такое KISS
«Keep it simple, stupid / Делай проще, глупец»
Подход, который предлагает реализовать решение самым простым способом, утверждая, что большинство систем работают лучше, если они остаются простыми, а не усложняются.
KISS намекает на то, что решение всегда должно оставаться достаточно простым, чтобы любой член вашей команды мог легко понять его, не зная, как в настоящее время работает код. Конечно, некоторые сложные проблемы требуют комплексных решений, но часто случается так, что программисты увлекаются новыми инструментами и применяют их в работе, даже если они не соответствуют задаче.
«Keep it simple, stupid / Делай проще, глупец»
Подход, который предлагает реализовать решение самым простым способом, утверждая, что большинство систем работают лучше, если они остаются простыми, а не усложняются.
KISS намекает на то, что решение всегда должно оставаться достаточно простым, чтобы любой член вашей команды мог легко понять его, не зная, как в настоящее время работает код. Конечно, некоторые сложные проблемы требуют комплексных решений, но часто случается так, что программисты увлекаются новыми инструментами и применяют их в работе, даже если они не соответствуют задаче.
👍17🔥2
Что такое абстрактная фабрика
Приведем аналогию: Вернёмся к примеру с дверями из «Простой фабрики». В зависимости от своих потребностей вы можете купить деревянную дверь в одном магазине, стальную — в другом, пластиковую — в третьем. Для монтажа вам понадобятся разные специалисты: деревянной двери нужен плотник, стальной — сварщик, пластиковой — спец по ПВХ-профилям.
Это фабрика фабрик. То есть фабрика, группирующая индивидуальные, но взаимосвязанные/взаимозависимые фабрики без указания для них конкретных классов.
Шаблон «Абстрактная фабрика» описывает способ инкапсулирования группы индивидуальных фабрик, объединённых некой темой, без указания для них конкретных классов.
Приведем аналогию: Вернёмся к примеру с дверями из «Простой фабрики». В зависимости от своих потребностей вы можете купить деревянную дверь в одном магазине, стальную — в другом, пластиковую — в третьем. Для монтажа вам понадобятся разные специалисты: деревянной двери нужен плотник, стальной — сварщик, пластиковой — спец по ПВХ-профилям.
Это фабрика фабрик. То есть фабрика, группирующая индивидуальные, но взаимосвязанные/взаимозависимые фабрики без указания для них конкретных классов.
Шаблон «Абстрактная фабрика» описывает способ инкапсулирования группы индивидуальных фабрик, объединённых некой темой, без указания для них конкретных классов.
👍10