Библиотека Go для собеса | вопросы с собеседований
Kanalga Telegram’da o‘tish
Вопросы с собеседований по Go и ответы на них. Покажем, как запустить своего ии-агента: https://clc.to/tvpmD По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot Наши каналы: https://t.me/proglibrary/9197
Ko'proq ko'rsatish7 430
Obunachilar
-124 soatlar
-137 kunlar
+730 kunlar
Postlar arxiv
❓ Где UDP будет предпочтительнее, чем TCP
UDP предпочтительнее в приложениях, где важна скорость и минимальная задержка, а потеря некоторых данных не критична.
— Видеоконференции и стриминг — где задержка важнее, чем потеря отдельных пакетов.
— Онлайн-игры — где важно быстрое обновление состояния игры, а потеря пакетов не всегда влияет на игровой процесс.
— VoIP (голосовые вызовы по интернету) — где важно минимизировать задержку в передаче голоса, даже если часть данных потеряется.
🐸 Библиотека Go для собеса
❓ Чем отличается TCP от UDP
TCP — это надежный протокол с установлением соединения, который гарантирует доставку данных в правильном порядке. Он медленнее из-за проверки целостности и повторной передачи потерянных пакетов.
UDP — это ненадежный протокол без установления соединения. Он быстрее, так как не проверяет доставку и не повторяет потерянные пакеты.
🐸 Библиотека Go для собеса
🥴 Средний разработчик меняет работу каждые 1,5 года
И это не потому, что мы такие непостоянные. Просто рынок показывает свое истинное лицо быстрее, чем успевают напечатать визитки.
Поэтому мы собираем инсайды от тех, кто находится в окопах digital-трансформации каждый день. От джуниоров, которые только въезжают в профессию, до сеньоров, повидавших всякого.
😳 О чем говорим откровенно:
— Job-hopping и что за этим стоит
— Red flags, которые мгновенно убивают мотивацию
— Реальные источники вакансий (не те, что рекламируют)
— Боль от общения с рекрутерами
— Сколько этапов отбора — норма, а сколько — издевательство
Когда мы объединим опыт сотен IT-специалистов, получится настоящая карта того, как устроена индустрия. Не по версии HR-отделов, а по версии тех, кто пишет код, тестирует продукты и двигает технологии вперед.
🚀 Участвовать в исследовании → https://clc.to/9aaXVg
❓ Какие типы указателей есть в Go
1. Указатель на тип (
*T).
Это самый общий тип указателя. Он указывает на значение определенного типа. Например, *int указывает на значение типа int, а *string — на строку.
2. Указатель на массив.
Указатели могут быть использованы для работы с массивами. Важно помнить, что при передаче массива в функцию по значению, копируется сам массив, а не ссылка на него. Чтобы избежать копирования, можно использовать указатель на массив.
3. Указатель на срез.
Срезы в Go являются динамическими и указывают на массив, поэтому можно работать с ними через указатели.
Указатель может быть nil, что означает отсутствие ссылки на значение.
4. Указатель на структуру.
В Go структуры могут быть переданы в функции как указатели, чтобы избежать копирования структуры.
5. Указатели на интерфейсы.
В Go интерфейсы тоже могут быть указателями, что позволяет работать с интерфейсами, сохраняя возможность изменять данные.
6. Нулевой указатель:
Указатели могут быть nil. Это полезно для инициализации указателей, когда они ещё не указывают на какую-либо память.
В Go указатели не могут быть арифметическими (например, нельзя просто прибавлять числа к указателю, как в C).
Работа с указателями в Go безопасна благодаря сборщику мусора, который управляет памятью.
🐸 Библиотека Go для собеса❓ Сколько виртуальной памяти может использовать Go-процесс
Go-процесс может использовать много виртуальной памяти из-за того, как работает аллокатор памяти в Go. Он резервирует большую область виртуальной памяти, создавая арену, с которой процесс Go может выделять память.
Это резервирование виртуальной памяти не означает, что вся она будет немедленно использована процессом. Это просто предоставляет гибкость в управлении памятью и уменьшает частоту обращения к операционной системе для выделения новых блоков памяти.
Для того чтобы увидеть фактически использованную память процессом Go, можно воспользоваться командой
top в Unix-системах. В столбцах RES (Linux) или RSIZE (macOS) можно увидеть количество реально выделенной памяти процессу Go.
🐸 Библиотека Go для собеса🫣 Устали от 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{} хранит только ключи — значения пустые и занимают 0 байт, что эффективно для реализации множества.
🐸 Библиотека Go для собеса⏰ Последние 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-специалистов»
Пока большинство дата-сайентистов строят модели и делают аналитику, рынок уже требует специалистов, которые создают автономные системы с 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-рынка
— том, сколько времени сейчас нужно на поиск работы
Почему это важно? Потому что сила в правде. Зная реальную ситуацию, вы сможете лучше понимать тренды рынка и планировать карьеру.
⚡️Пройдите опрос и помогите всему сообществу: https://clc.to/yJ5krg
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
