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

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

Open in Telegram

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

Show more
7 424
Subscribers
+224 hours
-97 days
+730 days
Posts Archive
❓ Что такое 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.

❓ Как работает пробинг в Swiss Table 1. Вычисляется хеш ключа (hash(key)) Используется aeshash (на поддерживаемых CPU) или memhash (на других архитектурах). Определяется bucket: bucket_index = hash(key) % num_buckets. 2. Проверяется metadata (fingerprint) в bucket'е Каждый bucket хранит 8 слотов, где хранятся fingerprints ключей. Если fingerprint совпадает → проверяем полный ключ. 3. Если слот занят → применяется квадратичный пробинг: next_index = (index + i²) % num_buckets i увеличивается (1, 4, 9, 16...), что уменьшает кластеризацию. Если после нескольких попыток элемент не найден → он отсутствует.

Работа мечты в один клик 💼 💭 Мечтаешь работать в Сбере, но не хочешь проходить десять кругов HR-собеседований? Теперь это п
Работа мечты в один клик 💼 💭 Мечтаешь работать в Сбере, но не хочешь проходить десять кругов HR-собеседований? Теперь это проще, чем когда-либо! 💡 AI-интервью за 15 минут – и ты уже на шаг ближе к своей новой работе. Как получить оффер? 📌 Зарегистрируйся здесь 📌 Пройди AI-интервью 📌 Получи обратную связь сразу же! HR больше не тянут время – рекрутеры свяжутся с тобой в течение двух дней! 🚀 Реклама. ПАО СБЕРБАНК, ИНН 7707083893. Erid 2VtzquscAwp

👉 Интенсив «Архитектуры и шаблоны проектирования» для middle и senior-разработчиков Проверьте свои знания, ответив на 8 вопр
👉 Интенсив «Архитектуры и шаблоны проектирования» для middle и senior-разработчиков Проверьте свои знания, ответив на 8 вопросов – https://proglib.io/w/4c54dd82 🧐 Кому подойдет? Разработчикам, которые знают любой объектно-ориентированный язык программирования и хотят углубиться в архитектурные паттерны. 🎮 Как проходит обучение? В течение всего интенсива вы будете создавать игру «Звездные войны» и применять ключевые архитектурные паттерны. В процессе изучите: – Как строить гибкую архитектуру, которая не замедляет разработку – Как применять IoC-контейнеры и писать модульные тесты – Как использовать SOLID за пределами ООП – Как внедрять CI/CD и снижать технический долг 👉 Подробная программа обучения А по промокоду MIDDLE до 28 февраля вы получите дополнительную скидку на обучение

❓ Как map добавляет элементы? (m[key] = value) 1️⃣ Вычисляется хеш ключа с учётом hash0. 2️⃣ Определяется номер корзины: bucket = hash % 2^B. 3️⃣ Проверяется наличие места среди слотов: Если есть — записываем ключ и значение. Если корзина заполнена — создаётся overflow bucket.

❓ Что такое RPS Requests Per Second — это метрика, обозначающая количество запросов в секунду, которые система, сервер или API способны обработать. Используется для измерения производительности и нагрузки на веб-приложения, базы данных и сетевые сервисы.

❓ Реализуйте связный список Реализацию смотрите в картинках🔼
+2
❓ Реализуйте связный список Реализацию смотрите в картинках🔼

Документация PostgreSQL — лучший источник знаний о СУБД. Но она отличается огромным объемом: не каждый разработчик осилит 302
Документация PostgreSQL — лучший источник знаний о СУБД. Но она отличается огромным объемом: не каждый разработчик осилит 3024 страницы формата А4. Опытный бэкендер составил список самых важных сведений, которые ему самому хотелось бы знать перед началом работы с PostgreSQL. Эта подборка сэкономит вам несколько недель изучения документации, и скорее всего, пригодится для работы с другими СУБД. 👉 Список самого важного

❓ Что делать, если контекст не нужен, но его требуется передать Если функция требует передать context.Context, но в вашем случае контекст не нужен, нужно передать context.TODO()

Совет на 2025-й — будьте осторожнее с выбором работы. IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарпла
Совет на 2025-й — будьте осторожнее с выбором работы. IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарплат. В такое время особенно важно отличать стоящие офферы от проходных. Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦‍♂️ Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях: — Зарплаты на уровне рынка, а не на уровне голодного студента — Никаких «мы молодая и дружная семья» — только адекватные условия — Проверенные работодатели, а не стартапы из сомнительных сфер Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях. Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs

📊 Как себя чувствует IT-рынок в 2025 году? Друзья, запускаем важное исследование рынка труда в IT! Нам очень важно понять: •
📊 Как себя чувствует IT-рынок в 2025 году? Друзья, запускаем важное исследование рынка труда в IT! Нам очень важно понять: • Как изменились зарплаты • Что происходит с наймом • Есть ли сокращения или рост 🔐 Опрос полностью анонимный ⏱️ Займёт всего 3-5 минут 📈 Результаты опубликуем в подробной статье Ваши ответы помогут составить реальную картину происходящего в индустрии. 👉 Пройти опрос

❓Для чего применяется context в Go В Go пакет context используется для управления временем жизни горутин: передачи тайм-аутов, дедлайнов и отмены операций.

❓ Вкратце объясните, для чего нужен пакет singleflight Если несколько горутин одновременно требуют одни и те же данные, singleflight гарантирует, что операция будет выполнена лишь один раз, а результат поделится между всеми запросившими его, тем самым снижая избыточную нагрузку и экономя ресурсы.

Ваш код на Go страдает от хаоса в зависимостях? Новые версии ломают сборку, а приватные репозитории вызывают головную боль? �
Ваш код на Go страдает от хаоса в зависимостях? Новые версии ломают сборку, а приватные репозитории вызывают головную боль? 💡 На открытом вебинаре разберём управление модулями в Go: ▫️Прокси ▫️Локальный кэш ▫️Контроль версий ▫️Безопасность ▫️Оптимизация сборок 🎯 Разберитесь в Semantic Import Versioning и научитесь управлять зависимостями так, чтобы проект был стабильным и предсказуемым. 📅 Встречаемся на открытом вебинаре 27 февраля в 20:00 (мск)! Все участники получат скидку на большое обучение «Golang Developer. Professional». 🔗 Регистрация открыта: https://clck.ru/3GWLFu Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Как устроена map в Go В Go map – это оптимизированная хеш-таблица с открытой адресацией, использующая buckets. Вместо linked list при коллизиях, как в Java HashMap, Go хранит по 8 элементов в одной корзине, а при нехватке места создаёт overflow bucket. type hmap struct { count int // Количество элементов B uint8 // log₂(количества корзин) hash0 uint32 // Случайная "соль" для хеширования buckets unsafe.Pointer // Указатель на массив корзин oldbuckets unsafe.Pointer // Для ленивого rehash nevacuate uintptr // Состояние эвакуации (grow) } buckets – массив корзин (bmap), каждая хранит до 8 элементов. oldbuckets – используется при ленивом rehash при увеличении map. hash0 – случайная "соль" для предотвращения атак на хеш-таблицу.

❓ В чем разница между стабильными и нестабильными алгоритмами сортировки Стабильная сортировка сохраняет относительный порядок элементов с одинаковыми ключами, тогда как нестабильная сортировка может изменить их порядок Пример: До сортировки: Алекс (25), Боб (25), Крис (30). Стабильная сортировка по возрасту: Алекс (25), Боб (25), Крис (30). Нестабильная сортировка может поменять местами Алекса и Боба, хотя у них одинаковый возраст: Боб (25), Алекс (25), Крис (30).