Скрининг. Весна 2025
Вопросы:
- В чем разница слайсов и массивов в Go?
- Какие типы каналов существуют?
- Зачем нужны транзакции?
- Можно ли передать функцию как параметр другой функции?
Все вопросы можно посмотреть на нашей платформе
#собес #коллеции
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1🔥1🤯1
#Собес #kubernetes
🤔 Что такое CNI (Container Networking Interface) в Kubernetes?
💬 Кратко:
CNI - это спецификация, определяющая стандартный интерфейс для подключения сетевых плагинов в Kubernetes. Она позволяет расширять сетевые возможности кластера, добавляя такие решения, как Calico, Flannel и Cilium.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
CNI - это спецификация, определяющая стандартный интерфейс для подключения сетевых плагинов в Kubernetes. Она позволяет расширять сетевые возможности кластера, добавляя такие решения, как Calico, Flannel и Cilium.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
CLI-инструмент на Go для работы с базами данных | SQLite, libSQL, PostgreSQL, MySQL, MariaDB
Гитхаб
👉 Новости 👉 База вопросов
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Forwarded from Автостопом по Go | Лукьянов Максим
Golang Тех скрининг В OZON на 320к c фидбэком
Первый пошёл!😩 😩 😩
OZON Golang все этапы собеседований - https://news.1rj.ru/str/Avtostopom_po_G0/258
Роадмап обучения Golang - https://news.1rj.ru/str/Avtostopom_po_G0/262
Первый пошёл!
OZON Golang все этапы собеседований - https://news.1rj.ru/str/Avtostopom_po_G0/258
Роадмап обучения Golang - https://news.1rj.ru/str/Avtostopom_po_G0/262
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2🔥2
Используй
👉 Новости 👉 База вопросов
sync.Once для однократной инициализации значения. Например, при загрузке переменных окружения можно воспользоваться sync.Once, чтобы гарантировать, что переменные будут загружены только один раз, а затем считывались из памяти при каждом обращенииPlease open Telegram to view this post
VIEW IN TELEGRAM
❤1
Kafka для собеседования: что нужно знать Go-разработчику
Apache Kafka — распределенная платформа потоковой обработки данных. Вот ключевые темы, которые стоит изучить для собеседования.
Почему Kafka так популярна?
- Высокая пропускная способность и низкая задержка
- Масштабируемость и отказоустойчивость
- Гарантия доставки сообщений
- Поддержка потоковой обработки в реальном времени
Ключевые концепции:
1. Базовая архитектура
Topics: логические каналы для сообщений
Partitions: параллелизм и масштабирование
Producers: отправка сообщений
Consumers: чтение сообщений
Consumer Groups: распределенная обработка
2. Гарантии доставки
Идемпотентность producers
Транзакционные сообщения
Семантика доставки: at-most-once, at-least-once, exactly-once
Подтверждение получения (acks)
3. Стратегии потребления
Consumer offset management
Автоматическое и ручное подтверждение
Rebalancing partitions
Обработка дубликатов
4. Вопросы производительности
Сжатие сообщений
Оптимальное количество partitions
Мониторинг lag consumers
5 Интеграция с Go
Использование библиотеки sarama
Написание эффективных producers
Реализация consumers с обработкой ошибок
Использование context для graceful shutdown
Что стоит посмотреть на практике:
- Написание producer и consumer на Go
- Настройка exactly-once семантики
- Обработка rebalancing в consumer group
- Решение проблем с дублирующимися сообщениями
- Мониторинг и диагностика проблем
Для Go-разработчика важно понимать не только API клиента, но и принципы работы распределенных систем. Умение настраивать надежную доставку сообщений и обрабатывать ошибки. Эти знания помогут вам положительно выделиться среди других кандидатов и заполучить жирный оффер!
Apache Kafka — распределенная платформа потоковой обработки данных. Вот ключевые темы, которые стоит изучить для собеседования.
Почему Kafka так популярна?
- Высокая пропускная способность и низкая задержка
- Масштабируемость и отказоустойчивость
- Гарантия доставки сообщений
- Поддержка потоковой обработки в реальном времени
Ключевые концепции:
1. Базовая архитектура
Topics: логические каналы для сообщений
Partitions: параллелизм и масштабирование
Producers: отправка сообщений
Consumers: чтение сообщений
Consumer Groups: распределенная обработка
2. Гарантии доставки
Идемпотентность producers
Транзакционные сообщения
Семантика доставки: at-most-once, at-least-once, exactly-once
Подтверждение получения (acks)
3. Стратегии потребления
Consumer offset management
Автоматическое и ручное подтверждение
Rebalancing partitions
Обработка дубликатов
4. Вопросы производительности
Сжатие сообщений
Оптимальное количество partitions
Мониторинг lag consumers
5 Интеграция с Go
Использование библиотеки sarama
Написание эффективных producers
Реализация consumers с обработкой ошибок
Использование context для graceful shutdown
Что стоит посмотреть на практике:
- Написание producer и consumer на Go
- Настройка exactly-once семантики
- Обработка rebalancing в consumer group
- Решение проблем с дублирующимися сообщениями
- Мониторинг и диагностика проблем
Для Go-разработчика важно понимать не только API клиента, но и принципы работы распределенных систем. Умение настраивать надежную доставку сообщений и обрабатывать ошибки. Эти знания помогут вам положительно выделиться среди других кандидатов и заполучить жирный оффер!
❤3👍3🔥2🤔1
#Собес #kubernetes
🤔 Что такое Pod Network в Kubernetes?
💬 Кратко:
Pod Network - это виртуальная сеть, которая соединяет Pod-ы внутри кластера. Она позволяет Pod-ам взаимодействовать друг с другом без необходимости ручной настройки маршрутизации.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Pod Network - это виртуальная сеть, которая соединяет Pod-ы внутри кластера. Она позволяет Pod-ам взаимодействовать друг с другом без необходимости ручной настройки маршрутизации.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#статьи
😱 Эффективная конкурентность в Go с использованием
В языке программирования Go горутины и каналы — это ключевые концепции при работе с конкурентностью. Они помогают решать множество задач, связанных с параллельным выполнением.
В этой статье основное внимание уделяется конструкции
Читать
👉 Новости 👉 База вопросов
selectВ языке программирования Go горутины и каналы — это ключевые концепции при работе с конкурентностью. Они помогают решать множество задач, связанных с параллельным выполнением.
В этой статье основное внимание уделяется конструкции
select, которая служит мостом для координации нескольких каналов.Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
Техническое собеседование. Лето 2024. Опыт в резюме: 3 года. Вилка 200k+. Аутсорс. Были вопросы про текущее место работы, большая теоретическая часть, секция лайвкодинга.
Вопросы:
- Что будет, если попытаться писать в закрытом канале?
- Что такое транзакции в PostgreSQL?
- Что такое индекс в базе данных?
- Какие есть уровни изоляции транзакций и как они работают?
Все вопросы можно посмотреть на нашей платформе
#собес #коллекции
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #kubernetes
🤔 Что такое DNS в Kubernetes?
💬 Кратко:
Kubernetes DNS - это встроенный сервис, который автоматически назначает DNS-имена сервисам и Pod-ам в кластере. Он позволяет приложениям находить друг друга по доменным именам, а не по IP-адресам.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Kubernetes DNS - это встроенный сервис, который автоматически назначает DNS-имена сервисам и Pod-ам в кластере. Он позволяет приложениям находить друг друга по доменным именам, а не по IP-адресам.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
🥱 Минималистичный CLI для прогноза погоды на GO
Stormy — это настраиваемый инструмент командной строки для получения прогноза погоды, вдохновленный Neofetch. Написан на Go, он поддерживает несколько провайдеров данных и предлагает визуально привлекательное представление текущих погодных условий.
Основные моменты:
🔵 Поддержка OpenMeteo и OpenWeatherMap
🔵 ASCII-арт для отображения погоды
🔵 Настраиваемые единицы измерения
🔵 Локальный конфигурационный файл
🔵 Цветная поддержка для терминалов
GitHub
👉 Новости 👉 База вопросов
Stormy — это настраиваемый инструмент командной строки для получения прогноза погоды, вдохновленный Neofetch. Написан на Go, он поддерживает несколько провайдеров данных и предлагает визуально привлекательное представление текущих погодных условий.
Основные моменты:
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
#Собес #git
🤔 Что делает Git-клон?
💬 Кратко:
Команда
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Команда
git clone создаёт копию существующего репозитория, включая всю историю изменений, файлы и ветки. Это используется, чтобы начать работу с проектом, который уже находится в удалённом репозитории.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Кроссплатформенный SQL-редактор, доступный прямо из браузера и работающий как HTTP-сервер на Go. Предоставляет удобный интерфейс для лёгких ETL-задач, позволяя копировать данные между базами данных, таблицами, JSON и CSV-файлами
Гитхаб
👉 Новости 👉 База вопросов
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Goroutines и каналы: что нужно знать для собеседования на Go
Работа с конкурентностью — ключевой навык Go-разработчика. Вот что спросят на собеседовании.
Почему горутины эффективны?
- Легковесные потоки (2KB против 1MB у потоков ОС)
- Быстрое создание и переключение
- Встроенная работа с каналами
- Планировщик Go вместо ОС
Ключевые концепции:
1. Управление горутинами
Запуск через go func()
Контроль количества через sync.WaitGroup
Остановка через context
Предотвращение утечек горутин
2. Каналы и синхронизация
Буферизованные и небуферизованные каналы
Select для мультиплексирования
Закрытие каналов и range
Sync package: Mutex, RWMutex, Once
3. Паттерны
Worker pool с каналами
Fan-out, fan-in
Pipeline обработки данных
Таймауты и дедлайны
4. Распространенные ошибки
Блокировка из-за неправильного размера буфера
Утечки горутин
Гонки данных (data races)
Неправильное использование context
5. Диагностика проблем
pprof для анализа горутин
trace для временной шкалы
race detector для поиска гонок
Метрики количества горутин
Что практиковать:
- Написание concurrent map с RWMutex
- Реализация worker pool
- Создание pipeline обработки
- Использование context для отмены
- Написание тестов с race detector
Понимание этих тем покажет, что вы умеете писать безопасный concurrent код, а не просто используете go func(). Умение избегать гонок и утечек — критически важно для production-приложений.
🚀 Пост Guru Golang: @Avtostopom_po_G0
Работа с конкурентностью — ключевой навык Go-разработчика. Вот что спросят на собеседовании.
Почему горутины эффективны?
- Легковесные потоки (2KB против 1MB у потоков ОС)
- Быстрое создание и переключение
- Встроенная работа с каналами
- Планировщик Go вместо ОС
Ключевые концепции:
1. Управление горутинами
Запуск через go func()
Контроль количества через sync.WaitGroup
Остановка через context
Предотвращение утечек горутин
2. Каналы и синхронизация
Буферизованные и небуферизованные каналы
Select для мультиплексирования
Закрытие каналов и range
Sync package: Mutex, RWMutex, Once
3. Паттерны
Worker pool с каналами
Fan-out, fan-in
Pipeline обработки данных
Таймауты и дедлайны
4. Распространенные ошибки
Блокировка из-за неправильного размера буфера
Утечки горутин
Гонки данных (data races)
Неправильное использование context
5. Диагностика проблем
pprof для анализа горутин
trace для временной шкалы
race detector для поиска гонок
Метрики количества горутин
Что практиковать:
- Написание concurrent map с RWMutex
- Реализация worker pool
- Создание pipeline обработки
- Использование context для отмены
- Написание тестов с race detector
Понимание этих тем покажет, что вы умеете писать безопасный concurrent код, а не просто используете go func(). Умение избегать гонок и утечек — критически важно для production-приложений.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍2🔥2
#Собес #git
🤔 Что такое репозиторий Git и как вы его инициализируете?
💬 Кратко:
Репозиторий Git - это хранилище, где отслеживаются все изменения вашего проекта, включая файлы, их историю и ветки. Чтобы инициализировать репозиторий, используйте команду
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Репозиторий Git - это хранилище, где отслеживаются все изменения вашего проекта, включая файлы, их историю и ветки. Чтобы инициализировать репозиторий, используйте команду
git init , которая создаёт скрытую папку .git , где Git сохраняет свои данные.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
📞
👉 Новости 👉 База вопросов
time.Ticker в Go — это отличный инструмент для запуска одного и того же кода через заданные интервалы. Например, его можно использовать, чтобы каждые 5 минут проверять состояние сервера и отправлять уведомление, если с ним возникли проблемы.Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
#полезное
😎 filesql — SQL для ваших файлов прямо в Go
Хотите писать SQL-запросы к CSV, TSV или LTSV без лишней возни?
Инструмент позволяет использовать привычный синтаксис SQLite прямо поверх файлов — даже сжатых (.gz, .bz2, .xz, .zst).
Основные фишки:
🟡 Поддержка CSV / TSV / LTSV
🟡 JOIN между файлами и рекурсивный обход папок
🟡 Полный синтаксис SQLite: CTE, оконные функции, агрегаты
🟡 Безопасность: INSERT/UPDATE/DELETE работают только в памяти — исходники не трогаются
🟡 Экспорт изменений функцией DumpDatabase()
Пример кода на Go:
📦 Установка:
Идеально для быстрых аналитических задач, скриптов и прототипов — SQL-сила без базы данных!
Github
👉 Новости 👉 База вопросов
Хотите писать SQL-запросы к CSV, TSV или LTSV без лишней возни?
Инструмент позволяет использовать привычный синтаксис SQLite прямо поверх файлов — даже сжатых (.gz, .bz2, .xz, .zst).
Основные фишки:
Пример кода на Go:
db, _ := filesql.Open("data.csv")
rows, _ := db.Query("SELECT name, age FROM data WHERE age > 25 ORDER BY name")
defer rows.Close()
📦 Установка:
go get github.com/nao1215/filesql
Идеально для быстрых аналитических задач, скриптов и прототипов — SQL-сила без базы данных!
Github
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #git
🤔 Какой язык используется Git?
💬 Кратко:
Git написан на языке программирования С. Этот выбор обеспечивает высокую производительность и эффективность.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Git написан на языке программирования С. Этот выбор обеспечивает высокую производительность и эффективность.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
🥄 Упрощение DLL-хайкинга с DllShimmer
DllShimmer позволяет легко добавлять код в экспортируемые функции DLL без нарушения работы программы. Он генерирует C++ и DEF файлы, которые обеспечивают корректное взаимодействие с оригинальной DLL, сохраняя ее структуру.
Экспортируемые функции DLL — это функции, которые библиотека DLL (Dynamic Link Library) делает доступными для использования другими программами.
Когда вы пишете код вы можете собрать его не только в обычный исполняемый .exe, но и в динамическую библиотеку .dll. Такая библиотека хранит набор функций и данных, которые могут вызываться другими приложениями во время выполнения.
Основные моменты:
🔵 Простое создание прокси DLL для внедрения кода.
🔵 Поддержка динамической и статической компоновки.
🔵 Не требует реверс-инжиниринга.
🔵 Сохраняет оригинальные имена и порядковые номера функций.
🔵 Поддержка только x86-64 архитектуры.
GitHub
👉 Новости 👉 База вопросов
DllShimmer позволяет легко добавлять код в экспортируемые функции DLL без нарушения работы программы. Он генерирует C++ и DEF файлы, которые обеспечивают корректное взаимодействие с оригинальной DLL, сохраняя ее структуру.
Экспортируемые функции DLL — это функции, которые библиотека DLL (Dynamic Link Library) делает доступными для использования другими программами.
Когда вы пишете код вы можете собрать его не только в обычный исполняемый .exe, но и в динамическую библиотеку .dll. Такая библиотека хранит набор функций и данных, которые могут вызываться другими приложениями во время выполнения.
Основные моменты:
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM