ru
Feedback
Библиотека Go для собеса | вопросы с собеседований

Библиотека Go для собеса | вопросы с собеседований

Открыть в Telegram

Вопросы с собеседований по Go и ответы на них. Покажем, как запустить своего ии-агента: https://clc.to/tvpmD По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot Наши каналы: https://t.me/proglibrary/9197

Больше
7 429
Подписчики
+224 часа
-87 дней
+730 день
Архив постов
Как работает система пакетов в Go ➖ В начале каждого .go файла указывается, к какому пакету он принадлежит ➖ Если в коде есть package main, то этот пакет может быть скомпилирован в исполняемый файл. В противном случае это библиотечный пакет.Пакеты импортируются явно, указывая полный путь. ➖ Ограниченная область видимостиЕсли идентификатор (переменная, функция, структура) начинается с заглавной буквы, он доступен за пределами пакета. • Если начинается с маленькой буквы, он доступен только внутри пакета. 🐸Библиотека Go для собеса

Чем CGO_ENABLED=0 полезен при сборке Go-приложений Переменная окружения CGO_ENABLED=0 отключает поддержку CGo при компиляции Go-кода. Это означает, что все зависимости компилируются исключительно на чистом Go, без использования C-библиотек. Если CGO_ENABLED=1, компилятору Go могут понадобиться инструменты и заголовочные файлы C для целевой платформы. С CGO_ENABLED=0 можно без проблем собирать бинарники для других архитектур и ОС. Отключение CGo позволяет Go-компилятору использовать статическую компоновку, что уменьшает размер бинарного файла и исключает динамические зависимости. Приложение не зависит от внешних C-библиотек, что делает его легче для развертывания, особенно в контейнерах или в средах с минимальным окружением. Исключение C-кода уменьшает вероятность уязвимостей, связанных с управлением памятью в C, и делает код более платформонезависимым. 🐸Библиотека Go для собеса

💔 Ваша backend-разработка уже не та? 😔 Микросервисы плохо масштабируются, API перегружены, а REST уже не справляется? 🚀 Ре
💔 Ваша backend-разработка уже не та? 😔 Микросервисы плохо масштабируются, API перегружены, а REST уже не справляется? 🚀 Решение есть – gRPC! Быстрое и эффективное взаимодействие сервисов без лишних накладных расходов. Как освоить? 18 марта в 20:00 на открытом вебинаре разберем gRPC, Protocol Buffers, совместимость API и создание серверов. ➡️ Запишитесь сейчас и 🎁 получите скидку на большое обучение «Golang Developer. Professional»: https://clck.ru/3HPpRf Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Что делает CGO_ENABLED CGO_ENABLED — это переменная окружения, которая управляет использованием CGo при компиляции Go-приложений. CGo — это механизм в Go, который позволяет взаимодействовать с C-кодом, вызывать C-функции и использовать C-библиотеки внутри Go-программ. 🐸Библиотека Go для собеса

❓ Что такое Table-Driven тестирование Табличное тестирование (table-driven tests)— это популярный подход к написанию тестов,
Что такое Table-Driven тестирование Табличное тестирование (table-driven tests)— это популярный подход к написанию тестов, при котором определяется набор тестовых случаев в виде таблицы или слайса структур, а затем каждый случай прогоняется через одну и ту же тестовую логику. 🐸Библиотека Go для собеса

🤔 Хотите писать гибкий, эффективный и чистый код, но дженерики в Go всё ещё кажутся чем-то непонятным? На бумаге всё выгляди
🤔 Хотите писать гибкий, эффективный и чистый код, но дженерики в Go всё ещё кажутся чем-то непонятным? На бумаге всё выглядит просто, но на практике возникают вопросы: когда их использовать, какие подводные камни и как правильно применять? 🧐 🚀 На открытом вебинаре «Дженерики в Go» 11 марта в 20:00 (мск) разберём: — Как работают дженерики в Go на практике — Когда их использовать, а когда не нужно — Как читать и писать код с дженериками без боли 💡 Хватит обходиться без мощного инструмента! 🎁 Всем участникам — скидка на большое обучение «Golang Developer. Professional». 📌 Регистрируйтесь и переходите на следующий уровень разработки: https://clck.ru/3GyLva Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

🏃‍♀️ 40+ каналов, которые должен читать каждый разработчик Отобрали для вас полезные и проверенные каналы для программистов — в них вы найдете все самое интересное, от технических новостей до практических гайдов. IT Job Hub | Работа и вакансии в IT — избранные IT-вакансии Библиотека программиста — новости из мира IT и технологий Книги для программистов — самые годные книги по любым языкам и стекам IT-мемы — мемы про жизу айтишника Proglib Academy — обучение и курсы, чтобы стать топовым специалистом Азбука айтишника — азы из мира разработки Библиотека нейросетей — лайфхаки и промпты для разных задач, баттлы нейронок и новости из мира ИИ Библиотека фронтендера — все о JS, React, Angular и не только Библиотека мобильного разработчика — лайфхаки и новости из мира Swift и Kotlin Библиотека хакера — уязвимости, атаки, бэкдоры и как от них защититься Библиотека тестировщика — самое интересное о том, как крашить код 🦫 Go Библиотека Go-разработчика Библиотека задач по Go Библиотека Go для собеса Вакансии по Go #️⃣ C# Библиотека шарписта Библиотека задач по C# Библиотека собеса по C# Вакансии по C# 🔧 DevOps Библиотека devops’а Библиотека задач по DevOps Библиотека собеса по DevOps Вакансии по DevOps & SRE 🐘 PHP Библиотека пхпшника Библиотека задач по PHP Библиотека PHP для собеса Вакансии по PHP, Symfony, Laravel 🐍 Python Библиотека питониста Библиотека Python для собеса Библиотека задач по Python Вакансии по питону, Django, Flask ☕️ Java Библиотека джависта Библиотека задач по Java Библиотека Java для собеса Вакансии по Java 📊 Data Science Библиотека дата-сайентиста Библиотека задач по Data Science Библиотека Data Science для собеса Вакансии по Data Science 🎮 C++ Библиотека C/C++ разработчика Библиотека задач по C++ Библиотека C++ для собеса Вакансии по C++ Подписывайтесь на интересные вам каналы и сохраняйте пост в закладки, чтобы не потерять 🔑

Что такое Cache contention Cache contention возникает, когда несколько горутин одновременно обращаются к одной и той же структуре данных, что приводит к конкуренции за доступ к данным и снижению производительности. 🐸Библиотека Go для собеса

Что такое Starvation Это ситуация в многопоточном программировании, когда один поток не получает доступа к ресурсу из-за приоритетного обслуживания других потоков. В результате этот "обделённый" поток не может завершить свою работу или выполняется крайне редко. 🐸Библиотека Go для собеса

⚙️ Как работает API
Proglib рассказывает базу в формате рилса

Что такое канареечный релиз/тестирование Это метод развертывания программного обеспечения, при котором новая версия выпускается только для ограниченного числа пользователей перед глобальным запуском. 🐸Библиотека Go для собеса

Как отличается управление памятью в Go от С++ Управление памятью в Go и C++ различается по подходу. Go использует автоматический сборщик мусора, который упрощает написание кода и уменьшает риск утечек памяти, но может влиять на производительность. C++ же требует ручного управления памятью с помощью операторов new и delete, что дает низкоуровневый контроль и высокую производительность, но увеличивает сложность и риск ошибок. 🐸Библиотека Go для собеса

Что такое префиксная сумма Префиксная сумма — это массив, в котором каждый элемент содержит сумму всех предыдущих элементов исходного массива до текущего индекса. Это позволяет быстро вычислять сумму любого подмассива за O(1) после предварительной обработки. Используется в задачах на подмассивы, обработке изображений, анализе данных и алгоритмах на графах. 🐸Библиотека Go для собеса

Что делает переменная окружения GOOS в Go Переменная окружения GOOS определяет операционную систему, для которой будет скомпилировано Go-приложение. Она используется при кросс-компиляции, когда код пишется на одной платформе, но компилируется для другой. Поддерживаемые значения GOOS: • Linux • Windows • macOS • FreeBSD • OpenBSD • NetBSD • Android • iOS • Plan 9 🐸Библиотека Go для собеса

❓ У вас есть код на Go версии 1.20, который использует map. Что нужно сделать, чтобы мигрировать на версию 1.24, которая принесла Swiss Table в Go Делать ничего не нужно, потому что внешне map не изменилась. Методы работают также, как и до обновления.

❓ Что такое fuzzing? Fuzzing (фаззинг) — это метод тестирования программного обеспечения, при котором на вход программы подаются случайные, невалидные или некорректные данные с целью выявления уязвимостей, сбоев или неожиданного поведения.

🤔 Основы математики в Machine Learning / Deep Learning 🗓 6 марта приглашаем вас на прямой эфир, где мы подробно разберем ря
🤔 Основы математики в Machine Learning / Deep Learning 🗓 6 марта приглашаем вас на прямой эфир, где мы подробно разберем ряд Тейлора, собственные векторы и другие ключевые понятия в ML. (ссылка) 🌟 Спикер: *Мария Горденко* – Старший преподаватель ФКН НИУ ВШЭ, НИТУ МИСИС, аспирант департамента анализа данных и искусственного интеллекта ФКН НИУ ВШЭ, а также преподаватель на курсе Алгоритмы и структуры данных в proglib academy. Место работы: Инженер-программист, ведущий эксперт НИУ ВШЭ, цифровой ассистент и цифровой консультант НИУ ВШЭ. 😮 На вебинаре вы узнаете: 🔵 Теорию вероятностей: обсудим случайные величины, вероятность, математическое ожидание и дисперсию. 🔵 Линейную алгебру: изучим векторы, матрицы, собственные векторы и собственные значения. 🔵 Математический анализ: разберем производные и разложение функций в ряд Тейлора. 🔵 Практику: применим полученные знания на реальных кейсах из области Machine Learning и Deep Learning. 🎯 Почему это важно? Понимание математических основ помогает глубже разобраться в работающих под капотом алгоритмах ML/DL и эффективно применять их на практике. 👉 Присоединяйтесь к нам и совершенствуйте свои навыки в машинном обучении! 📌 Регистрация по ссылке: https://proglib.io/w/01d4b6df

❓ В чём разница между Query() и QueryRow()? Query() — выполняет SQL-запрос, который возвращает несколько строк (например, SELECT * FROM users). Возвращает *Rows, требует итерации через rows.Next(). QueryRow() — выполняет SQL-запрос, который возвращает одну строку (например, SELECT name FROM users WHERE id = 1). Возвращает *Row, требует вызова .Scan().

🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи Напоминаем, что у нас есть бесплатный курс для всех, кто хо
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом. Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций. Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах. 👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.

❓ Как map ищет элементы (value, ok := m[key]) 1️⃣ Находим bucket по hash % 2^B. 2️⃣ Сравниваем tophash (если совпадает — проверяем ключ). 3️⃣ Если не нашли — идём в overflow (если есть). 4️⃣ Если ключ отсутствует — возвращаем ok = false.