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

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

Відкрити в Telegram

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

Показати більше
7 451
Підписники
+524 години
+137 днів
-1530 день
Архів дописів
Что делает _ — импорт? В Go _-импорт используется для подключения пакета только ради выполнения его побочных эффектов (например, функций init()) без дальнейшего использования самого пакета в коде. Таким образом, компилятор не будет требовать обращения к пакетным функциям или переменным, но все действия в init() будут выполнены. Этот подход часто используется для регистрации драйверов, плагинов или настройки глобальных зависимостей.

Самые полезные каналы для программистов в одной подборке! Сохраняйте себе, чтобы не потерять 💾 🔥Для всех Библиотека программиста — новости, статьи, досуг, фундаментальные темы Книги для программистов IT-мемы Proglib Academy — тут мы рассказываем про обучение и курсы Азбука айтишника — здесь мы познаем азы из мира программирования 🤖Про нейросети Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка Библиотека нейротекста | ChatGPT, Gemini, Bing Библиотека нейровидео | Sora AI, Runway ML, дипфейки Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion #️⃣C# Книги для шарпистов | C#, .NET, F# Библиотека шарписта — полезные статьи, новости и обучающие материалы по C# Библиотека задач по C# — код, квизы и тесты Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel ☁️DevOps Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps Вакансии по DevOps & SRE Библиотека задач по DevOps — код, квизы и тесты Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования 🐘PHP Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP Вакансии по PHP, Symfony, Laravel Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по PHP — код, квизы и тесты 🐍Python Библиотека питониста — полезные статьи, новости и обучающие материалы по Python Вакансии по питону, Django, Flask Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Python — код, квизы и тесты ☕Java Книги для джавистов | Java Библиотека джависта — полезные статьи по Java, новости и обучающие материалы Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Java — код, квизы и тесты Вакансии для java-разработчиков 👾Data Science Книги для дата сайентистов | Data Science Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Data Science — код, квизы и тесты Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту 🦫Go Книги для Go разработчиков Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Go — код, квизы и тесты Вакансии по Go 🧠C++ Книги для C/C++ разработчиков Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++ Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по C++ — код, квизы и тесты Вакансии по C++ 💻Другие каналы Библиотека фронтендера Библиотека мобильного разработчика Библиотека хакера Библиотека тестировщика Библиотека разработчика игр | Gamedev, Unity, Unreal Engine Вакансии по фронтенду, джаваскрипт, React, Angular, Vue Вакансии для мобильных разработчиков Вакансии по QA тестированию InfoSec Jobs — вакансии по информационной безопасности 📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈 Также у нас есть боты: Бот с IT-вакансиями Бот с мероприятиями в сфере IT Мы в других соцсетях: 🔸VK 🔸YouTube 🔸Дзен 🔸Facebook * 🔸Instagram * * Организация Meta запрещена на территории РФ

❓Что происходит, если между пакетами есть циклические зависимости? Циклические зависимости возникают, когда два или более пакета зависят друг от друга напрямую или косвенно. Например, пакет A импортирует пакет B, а пакет B импортирует обратно пакет A. Циклические зависимости недопустимы в Go. Компилятор обнаружит их и выдаст ошибку. Это сделано для упрощения структуры кода и предотвращения сложных проблем с порядком инициализации.

❓ Как slice устроен под капотом? В Go slice — это структура данных, представляющая собой динамически изменяемый массив. Slice строится на основе массива, но в отличие от массива, его размер может изменяться в процессе работы программы. Под капотом slice включает три основных компонента: Указатель (pointer): Это указатель на первый элемент массива, на основе которого создаётся slice. Это может быть любой внутренний массив или часть массива. Длина (length): Длина slice определяет количество элементов, доступных для работы в slice. Эта длина может изменяться в процессе добавления или удаления элементов. Ёмкость (capacity): Ёмкость slice — это максимальное количество элементов, которые могут быть размещены в текущем выделенном массиве без перераспределения памяти. Когда slice расширяется (например, при добавлении новых элементов), если ёмкость превышена, Go автоматически увеличивает ёмкость, выделяя новый массив и копируя туда элементы старого массива.

💾 CDC vs Outbox: как решить проблему двойной записи в распределенной системе В распределённых системах согласованность данны
💾 CDC vs Outbox: как решить проблему двойной записи в распределенной системе В распределённых системах согласованность данных часто становится настоящим вызовом. Особенно это касается сценариев, где требуется выполнить несколько операций в разных системах одновременно. Как избежать проблем двойной записи? Современные подходы, такие как захват изменений данных (CDC) и паттерн Outbox, предлагают интересные решения. Эти методики позволяют поддерживать целостность данных, избегать сбоев и минимизировать риски. Хотите узнать, как внедрить такие подходы и выбрать оптимальный для своей системы? Загляните в захватывающее руководство, чтобы разобраться в тонкостях. 🔗 Читать статью 🔗 Зеркало

❓Что такое defer в Go и какие варианты использования существуют? defer в Go — это ключевое слово, которое используется для отложенного выполнения функции. Функция, указанная в defer, будет выполнена непосредственно перед тем, как функция, содержащая defer, завершит свое выполнение Как его можно использовать? 🎯 defer часто используется для освобождения ресурсов, таких как закрытие файлов, соединений с базой данных или освобождение памяти. 🎯 defer полезен для выполнения кода, который должен быть выполнен независимо от того, произошла ли ошибка в функции или нет.

Почему использование uintptr может быть опасным? ❗ Потеря информации о типе: преобразование указателя в uintptr теряет информацию о типе, что может привести к ошибкам при неправильном доступе к памяти, если указатель используется с другим типом данных. ❗ Сборщик мусора: go использует сборщик мусора, который не отслеживает указатели, преобразованные в uintptr. Это может привести к ошибкам, если память была освобождена или перемещена. ❗ Низкоуровневый доступ: uintptr представляет собой «сырой» адрес памяти, что делает операции с ним небезопасными, так как компилятор не может проверять правильность обращения к памяти. ❗Гонки данных: в многозадачных приложениях использование uintptr может привести к гонкам данных, поскольку не обеспечивается синхронизация или безопасность типов.

⚡️Самые полезные каналы по Go в одной папке В ней: ➖канал для подготовки к собеседованиям ➖интересные задачи ➖основной канал (этот) ➖книги по Go ➖лучшие вакансии из сферы ➖и наш чат, в котором можно общаться и задавать вопросы Добавляйте 👉 тык сюда

Подготовься к собеседованию на позицию Data Scientist! Профессия Data Scientist становится все более востребованной, и компан
Подготовься к собеседованию на позицию Data Scientist! Профессия Data Scientist становится все более востребованной, и компании ищут специалистов, способных превращать данные в ценные инсайты. Но как успешно пройти техническое собеседование? Мы собрали 10 типичных задач, которые могут встретиться на собеседовании, и эффективные подходы к их решению: 1. Внешнее и тензорное произведение 2. One-hot кодировка 3. Мониторинг осадков 4. Симуляция бросков кубиков в «Монополии» 5. Бурение скважин для добычи золота 6. Вычисление свертки 7. Бэктестинг торговой стратегии 8. Прогноз оттока клиентов с помощью логистической регрессии 9. Обнаружение спама с использованием дерева решений 10. Предсказание цен на квартиры с помощью линейной регрессии Чтобы начать решать задачи, достаточно ответить на четыре простых вопроса по этой ссылке и получить доступ к вводным занятиям курса Математика для Data Science и 10 задачам.

Что такое uintptr, когда его следует использовать? uintptr — это тип в Go, который представляет собой целое число, используемое для хранения значений указателей как чисел, то есть для представления адресов памяти в виде целых чисел. Он позволяет выполнять низкоуровневые операции с указателями, такие как арифметика указателей или преобразование указателя в числовое значение и обратно Когда следует использовать uintptr: 🛠️ Низкоуровневые операции: uintptr используется, когда необходимо работать с указателями на уровне адресов, например, для выполнения арифметики указателей (сдвиг по памяти) или для взаимодействия с C-библиотеками через cgo, где указатели часто обрабатываются как целые числа. 🛠️ Преобразование указателя в целое число: иногда необходимо преобразовать указатель в целочисленное значение (например, для передачи в системные вызовы или манипуляции с памятью). В таких случаях uintptr может быть полезен для хранения числового представления указателя. 🛠️ Взаимодействие с аппаратным обеспечением: в некоторых случаях работы с аппаратным обеспечением или низкоуровневыми системами можно использовать uintptr для работы с памятью напрямую.

❓ Как контексты используются для отмены операций в многозадачных приложениях? Контексты в Go предоставляют механизм для отмены операций в многозадачных приложениях за счет передачи сигнала отмены через объект context.Context. Это особенно полезно в сценариях, где горутины выполняют связанные задачи, такие как обработка HTTP-запросов или долгие вычисления. Принцип работы: 1. Создаётся контекст с функцией отмены (context.WithCancel или context.WithTimeout). 2. Все горутины получают этот контекст и периодически проверяют ctx.Done(). 3. Когда вызвана отмена (например, через cancel()), канал ctx.Done() закрывается. 4. Каждая горутина обрабатывает сигнал отмены, например, освобождая ресурсы и завершая выполнение.

Save the date: 21 декабря проводим Я.Субботник по Golang Будем слушать доклады ведущих разработчиков Яндекса из Игр, Екома и
Save the date: 21 декабря проводим Я.Субботник по Golang Будем слушать доклады ведущих разработчиков Яндекса из Игр, Екома и Райдтеха и Поиска. Готовьте вопросы на Q&A-сессию! Обсудим внедрение Golang, перформанс-бенчмаркинг и реализацию сервисов через стейтмашины. А ещё посмотрим на текущие проекты Яндекса в опенсорсе. После займёмся нетворкингом: будем общаться, отдыхать и пробовать разное вкусное. Приходите в Москве или подключайтесь онлайн! Зарегистрироваться

🗃️ Анатомия SQL-запроса: как работают запросы к базе данных ❓ Как разработчику эффективно работать с базами данных? Один из
🗃️ Анатомия SQL-запроса: как работают запросы к базе данных ❓ Как разработчику эффективно работать с базами данных? Один из ключевых навыков — понимание, как именно выполняются SQL-запросы. В этой статье разобраны все этапы работы запросов с базой данных: от парсинга до оптимизации. Это поможет не только улучшить производительность приложений, но и избежать частых ошибок при взаимодействии с БД. 📎 Погружаемся в анатомию SQL-запросов по ссылке!

❓ В чем разница между context.Background() и context.TODO()? context.Background() используется для создания базового контекста, который не имеет родительского контекста. Он подходит для корневых вызовов в программе, например, в функции main(). context.TODO() применяется, когда контекст должен быть задан, но решение о его правильности или необходимости еще не принято. Это временный контекст, который можно позже заменить на более специфичный, когда появится необходимая информация.

❓ Как в Go можно реализовать работу с объединёнными типами, если язык не поддерживает их напрямую? В Go для реализации работы
Как в Go можно реализовать работу с объединёнными типами, если язык не поддерживает их напрямую? В Go для реализации работы с объединёнными типами используется пустой интерфейс (interface{}), который может хранить значения любого типа. Для извлечения значения используется type assertion. Пример на скриншоте. Здесь переменная x может быть любым типом, и с помощью type assertion проверяется, является ли она строкой.

Поддерживает ли Go объединённые типы? Go не поддерживает объединённые типы напрямую, как это делают другие языки (например, TypeScript или Rust). В Go переменные всегда имеют фиксированный тип. Однако, с помощью интерфейсов и пустого интерфейса (interface{}), можно реализовать функциональность, схожую с объединёнными типами.

❓ Расскажите о механизме select в Go и как он работает с каналами при параллельной обработке данных? Механизм select в Go — э
❓ Расскажите о механизме select в Go и как он работает с каналами при параллельной обработке данных? Механизм select в Go — это примитив синхронизации для работы с каналами. При использовании select: ⚙️ Блокируется выполнение потока ⚙️ Ожидается готовность одного из каналов ⚙️ При готовности нескольких каналов выбор происходит случайно Ключевые особенности: 🛠️ Позволяет синхронизировать параллельные процессы 🛠️ Предотвращает взаимные блокировки 🛠️ Обеспечивает недетерминированный выбор канала Применяется для эффективного управления конкурентностью в Go.

❓ В следующем коде происходит паника. Объясните, что именно вызывает её
ch := make(chan int, 1)
ch <- 42
close(ch) 
ch <- 23
В Go запись в закрытый канал вызывает панику. Чтобы избежать этой ошибки, нужно убедиться, что мы не пытаемся записывать в канал после его закрытия.

❓ Что такое пакет unsafe в Go? Для чего его используют? Пакет unsafe в Go предоставляет функции, которые позволяют обрабатывать память и данные с низким уровнем доступа, минуя некоторые ограничения безопасности языка Go. Он предоставляет инструменты для работы с памятью и типами данных, которые обычным способом в Go нельзя напрямую манипулировать. Это пакет используется в случаях, когда нужно провести оптимизацию или взаимодействовать с системными библиотеками, где стандартные средства языка не обеспечивают необходимой гибкости.

📈 Кадровый голод в IT: почему компании готовы платить на 13% больше Несмотря на экономическую нестабильность и сокращения в
📈 Кадровый голод в IT: почему компании готовы платить на 13% больше Несмотря на экономическую нестабильность и сокращения в некоторых секторах, компании готовы платить рекордные зарплаты, чтобы привлечь и удержать талантливых специалистов. В статье, по ссылке ниже, мы разбираемся, почему в IT наблюдается дефицит кадров, какие навыки сейчас востребованы, и как работодатели борются за внимание лучших профессионалов, предлагая условия, о которых еще недавно можно было только мечтать. Если вам интересно, как кадровый рынок в IT адаптируется к новым вызовам, и что это значит для вас как для разработчика или работодателя, читайте дальше! 📎 Читать статью