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

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

الذهاب إلى القناة على Telegram

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

إظهار المزيد
7 421
المشتركون
-224 ساعات
-107 أيام
+530 أيام
أرشيف المشاركات
🫣 Устали от HR-сказок про «дружный коллектив» и «печеньки в офисе»? Давайте честно поговорим о том, что действительно происх
🫣 Устали от HR-сказок про «дружный коллектив» и «печеньки в офисе»? Давайте честно поговорим о том, что действительно происходит на IT-рынке. Не в розовых презентациях, а в реальной жизни разработчиков, тестировщиков, аналитиков и всех, кто живет кодом. 🧐 Мы проводим исследование, чтобы выяснить: — Как часто мы прыгаем между компаниями (и почему) — Какие красные флаги заставляют бежать без оглядки — Где реально находят работу — Что бесит в HR больше всего — Сколько кругов собеседований — это уже перебор Результаты покажут реальную картину рынка. Без приукрашиваний. Может, компании поймут, что нужно менять, а специалисты — куда двигаться дальше. 😈 Опрос займет 5 минут, но результаты будут работать на всех нас → https://clc.to/9aaXVg

Как обработать сразу несколько ошибок Помимо поочерёдной обработки ошибок с Go 1.20 можно объединить ошибки в одну. Это позволяет создать агрегированную ошибку с несколькими вложенными ошибками. Пример: err = errors.Join(function1(), function2()) 🐸 Библиотека Go для собеса

Что такое паттерн Mediator Паттерн Медиатор — это способ организовать общение между разными частями программы через одного «посредника». Вместо того, чтобы все объекты напрямую друг с другом разговаривали и зависели друг от друга, они общаются только с этим посредником. Посредник принимает сообщения от одного объекта и решает, кому их передать дальше. Это упрощает код, потому что объекты меньше завязаны друг на друга — они знают только медиатора, а не всех сразу. Если надо изменить логику общения, меняешь только медиатора, а не все объекты. 🐸 Библиотека Go для собеса

В чем основное отличие между пакетами os и syscall в контексте работы с файлами Пакет syscall предоставляет низкоуровневый доступ к системным вызовам операционной системы, напрямую взаимодействуя с файловыми дескрипторами и системными функциями. Пакет os предлагает высокоуровневую, удобную обертку над этими вызовами, предоставляя типы и методы, которые скрывают сложность системных вызовов и делают работу с файлами более безопасной и простой. 🐸 Библиотека Go для собеса

Что такое пакет syscall в Go и для чего он используется Пакет syscall предоставляет низкоуровневые интерфейсы для работы с операционной системой, такими как вызовы системных функций (например, работа с файлами, процессы, сигналы и пр.). Он позволяет взаимодействовать с операционной системой напрямую без использования специальных библиотек. 🐸 Библиотека Go для собеса

🚨 Что на самом деле происходит с увольнениями в ИТ Каждый день в чатах разработчиков появляются сообщения «ищу работу», «ком
🚨 Что на самом деле происходит с увольнениями в ИТ Каждый день в чатах разработчиков появляются сообщения «ищу работу», «команду сократили», «проект закрыли». Но никто не говорит о причинах и масштабах катастрофы. Мы запустили большое исследование, чтобы раскрыть правду! 🎯 Что мы выясним: → Реальные причины увольнений → Сколько времени нужно на поиск работы → Самые безумные истории смены работы Понимая реальную ситуацию, мы сможем принимать взвешенные решения о карьере и не попасться на удочку HR-сказок. 👉 Пройдите опрос за 3 минуты и помогите всему сообществу: https://clc.to/yJ5krg

Как вам вопросы этой недели Оцените их по шкале 🔥,❤️,👍,😢, 🥱, где 🔥 — это супер, а 🥱 — это скучно. Также приветствуется фидбек в комментариях. 🐸 Библиотека Go для собеса

❓ Приведите пример, как можно использовать пустые структуры в мапе В этом примере map[string]struct{} хранит только ключи — з
Приведите пример, как можно использовать пустые структуры в мапе В этом примере map[string]struct{} хранит только ключи — значения пустые и занимают 0 байт, что эффективно для реализации множества. 🐸 Библиотека Go для собеса

⏰ Последние 2 дня скидки на курс «AI-агенты для DS-специалистов» Пока большинство дата-сайентистов строят модели и делают ана
Последние 2 дня скидки на курс «AI-агенты для DS-специалистов» Пока большинство дата-сайентистов строят модели и делают аналитику, рынок уже требует специалистов, которые создают автономные системы на базе ИИ-агентов. Для этого мы подготовили специальный курс и собрали кучу дополнительного контента, который поможет погрузиться в тему еще глубже. Но чтобы получить все плюшки, успевайте до 1 июня. 🎁 Что вы получите при оплате курса до 1 июня: — Промокод PROGLIBAIна 10 000 ₽ на курс, чтобы изучать AI-агентов еще выгоднее — Эксклюзивный лонгрид по API и ML от Proglib 💡Что разберем на курсе «AI-агенты для DS-специалистов»: — Реализацию памяти в цепочках langchain — Полный пайплайн RAG-системы с оценкой качества — Основы мультиагентных систем (MAS) — Протокол MCP и фреймворк FastMCP Промокод также действует на курсы «Математика для Data Science» и «Алгоритмы и структуры данных». 👉 Успейте до 1 июня: https://clc.to/Cttu7A

⏰ Последние 3 дня скидки на курс «AI-агенты для DS-специалистов» Пока большинство дата-сайентистов строят модели и делают ана
⏰ Последние 3 дня скидки на курс «AI-агенты для DS-специалистов» Пока большинство дата-сайентистов строят модели и делают аналитику, рынок уже требует специалистов, которые создают автономные системы с AI-агентами. Для этого мы подготовили специальный курс и собрали кучу дополнительного контента, который поможет погрузиться в тему еще глубже. Но торопитесь — получить все плюшки можно только до 1 июня. 🎁 Что вы получите при оплате курса до 1 июня: — Промокод PROGLIBAI на скидку в 10 000 ₽, чтобы изучать AI-агентов еще выгоднее — Эксклюзивный лонгрид по API и ML от Proglib Промокод также действует на курсы «Математика для Data Science» и «Алгоритмы и структуры данных». 💡Что разберем на курсе «AI-агенты для DS» — Реализацию памяти в цепочках langchain — Полный пайплайн RAG-системы с оценкой качества — Основы мультиагентных систем (MAS) — Протокол MCP и фреймворк FastMCP 👉 Успейте до 1 июня: https://clc.to/Cttu7A

Чем конкурентность отличается от параллельности Конкурентность и параллельность — это разные, хотя и связанные понятия: Конкурентность — это способность системы управлять несколькими задачами одновременно, то есть они могут переключаться друг с другом, но не обязательно выполняются в один момент времени. Например, одна задача может приостанавливаться, чтобы дать ресурсы другой, и так поочерёдно. Параллельность — это одновременное выполнение нескольких задач в один и тот же момент времени, например, когда есть несколько процессорных ядер, и каждое ядро выполняет свою задачу одновременно. 🐸 Библиотека Go для собеса

Как расширяется ёмкость у слайсов Ёмкость слайса расширяется динамически при добавлении элементов, если текущая длина достигает ёмкости. Обычно, когда нужно увеличить ёмкость, она удваивается — то есть становится примерно в 2 раза больше прежней. Однако этот удвоенный рост действует только до определённого предела (около 256 элементов). После этого Go увеличивает ёмкость не в два раза, а примерно на 1.25 (то есть на четверть от текущей емкости). Такое поведение связано с оптимизацией использования памяти и выравниванием данных. 🐸 Библиотека Go для собеса

👾 AI-агенты — настоящее, о котором все говорят На днях мы анонсировали наш новый курс AI-агенты для DS-специалистов 🎉 Это продвинутая программа для тех, кто хочет получить прикладной опыт с LLM и решать сложные задачи! На обучении вы соберете полноценные LLM-системы с учётом особенностей доменных областей, получите hands-on навыки RAG, Crew-AI / Autogen / LangGraph и агентов. 🎓 В рамках курса вы научитесь: — адаптировать LLM под разные предметные области и данные — собирать свою RAG-систему: от ретривера и реранкера до генератора и оценки качества — строить AI-агентов с нуля — на основе сценариев, функций и взаимодействия с внешней средой Разберете реальные кейсы и научитесь применять похожие подходы в разных доменных областях, получите фундамент для уверенного прохождения NLP system design интервью и перехода на следующий грейд. Старт 5 июля, а при оплате до 1 июня действует дополнительная скидка и бонус — эксклюзивный лонгрид по API и ML от Proglib. Начните осваивать тему уже сейчас 👉 https://clc.to/Cttu7A

Какой файл является обязательным в корне директории, чтобы Go проект считался модулем Обязательным файлом в корне директории, чтобы Go проект считался модулем, является файл go.mod. Наличие файла go.mod позволяет инструментам Go понимать, что данный каталог — корень модуля, и использовать его для поиска зависимостей, разрешения импортов и управления версиями пакетов. Без этого файла Go не сможет правильно определить границы модуля и будет рассматривать проект как GOPATH-проект или не модуль вовсе. 🐸 Библиотека Go для собеса

😱 Вся правда об увольнениях в IT в 2025-м Пока все молчат о том, что происходит на рынке, мы решили выяснить реальную картин
😱 Вся правда об увольнениях в IT в 2025-м Пока все молчат о том, что происходит на рынке, мы решили выяснить реальную картину. Без прикрас и корпоративного пиара. Но для этого нам нужна ваша помощь! Мы собираем данные от разработчиков, тестировщиков, менеджеров и всех, кто работает в ИТ, чтобы создать честное исследование о: — реальных причинах массовых увольнений — судьбе тех, кто остался за бортом IT-рынка — том, сколько времени сейчас нужно на поиск работы Почему это важно? Потому что сила в правде. Зная реальную ситуацию, вы сможете лучше понимать тренды рынка и планировать карьеру. ⚡️Пройдите опрос и помогите всему сообществу: https://clc.to/yJ5krg

Что будет выводится в таком цикле
for first, second := range str
, если str это строка В цикле такого вида first это индекс символа в строке, а second это руна 🐸 Библиотека Go для собеса

Что такое IIFE Immediately Invoked Function Expression Это анонимная функция, которая определяется и вызывается сразу же, без явного имени и без предварительного присваивания переменной. 🐸 Библиотека Go для собеса

Как можно использовать анонимную функцию в Go Анонимная функция — это функция,, которую можно определить прямо там, где она нужна. В Go анонимные функции очень гибкие и применяются в нескольких случаях: • Присвоение переменной Анонимную функцию можно присвоить переменной и вызывать её позже. Например:
add := func(a, b int) int {
    return a + b
}
result := add(2, 3) // result будет равен 5
• Вызов сразу после определения Можно объявить анонимную функцию и сразу же вызвать её, обернув в скобки и добавив () в конце:
result := func(a, b int) int {
    return a + b
}(2, 3)
• Передача в качестве аргумента Анонимные функции часто используют для передачи в другие функции, например, для обработки событий, сортировки, или работы с коллекциями:
nums := []int{1, 3, 2}
sort.Slice(nums, func(i, j int) bool {
    return nums[i] < nums[j]
})
🐸 Библиотека Go для собеса

Как влияет порядок defer-вызовов на поведение программы Конструкция defer в Go вызывает функции в обратном порядке, по принципу стека (LIFO — Last In, First Out). То есть последняя отложенная функция будет выполнена первой при выходе из текущей функции. Пример:
func demo() {
    defer fmt.Println("Первый")
    defer fmt.Println("Второй")
    defer fmt.Println("Третий")
}
Вывод:
Третий  
Второй  
Первый
Корректное освобождение ресурсов: При работе с вложенными ресурсами defer автоматически освобождает их в правильном порядке:
f1, _ := os.Open("a.txt")
defer f1.Close()
f2, _ := os.Open("b.txt")
defer f2.Close()
Сначала закроется b.txt, потом a.txt — что логично. Откат операций в нужной последовательности: При выполнении нескольких шагов (например, в транзакции), можно отложить откат в порядке, обратном их применению. Отладка и читаемость: Если defer-вызовов много, особенно внутри циклов и функций, легко запутаться в порядке их выполнения. Это стоит учитывать при разработке. 🐸 Библиотека Go для собеса

Как компилятор Go обрабатывает константы во время компиляции Компилятор Go обрабатывает константы на этапе компиляции, подставляя их значения напрямую в код вместо выделения памяти под переменные. Это значит, что константы не занимают память во время выполнения, а используются как литеральные значения, что позволяет оптимизировать производительность и уменьшить размер бинарника. Кроме того, компилятор проверяет корректность и типовую совместимость констант ещё до сборки, предотвращая ошибки времени выполнения. 🐸 Библиотека Go для собеса