ERP Consultant
Расскажи про планировщик в Go — для чего нужен, из чего состоит?
Что такое ACID транзакции в базах данных?
Live coding: задачи на Go — конкурентные запросы, замыкания в горутинах, фильтрация дубликатов, счётчик с потокобезопасностью, буферизированные каналы, таймаут функции
Расскажи про индексы в базах данных — для чего нужны, какие виды бывают?
Расскажи про уровни изоляции транзакций. С какими работал, чем отличаются?
Расскажи про Clean Architecture, Hexagonal Architecture, DDD — знаком ли, работал ли?
Your wife is having a baby next month. Can you take some time off when it's born?
SOLID принципы — расскажи про каждый.
Архитектурная задача: есть сервис Users и сервис Notification. При регистрации пользователя нужно гарантированно отправить сообщение в Kafka (для отправки email). Как обеспечить гарантию доставки, если Kafka недоступна?
Что такое P (процессор) в планировщике Go — это физический процессор?
Как реализовать Inbox Pattern на стороне сервиса Notification для гарантии обработки сообщений?
Что такое SELECT FOR UPDATE? Для чего нужно, работал ли с этой конструкцией?
Как работал с тестированием в Go? Работал ли с моками?
Можно ли в Entity писать теги типа json или gorm? Как это соотносится с принципами DDD?
Нотации именования в Go — как правильно писать аббревиатуры?
Тактические паттерны DDD — что в них содержится?
You worked until late last night. Do you get paid anything extra?
Расскажи про Graceful Shutdown — для чего используется, как реализовывал?
Что делать если у папки нет доступа к чтению при рекурсивном обходе?
Напишите функцию FindFilesByExtension, которая рекурсивно ищет файлы в директории и возвращает срез абсолютных путей к файлам ([]string), удовлетворяющих условиям: расширение файла == targetExtension (без учета регистра) размер файла > minSizeKB Функция должна обходить все вложенные поддиректории. Пример структуры директории: /projects/ ├── doc.pdf (2048 KB) ├── report.docx (512 KB) ├── src/ │ ├── Main.go (2 KB) │ ├── Utils.go (5 KB) └── images/ └── photo.jpg (3072 KB) Примеры проверок: files1, _ := FindFilesByExtension("/projects", "pdf", 1000) // files1 == []string{"/projects/doc.pdf"} files2, _ := FindFilesByExtension("/projects", "go", 3) // files2 == []string{"/projects/src/Utils.go"} files3, _ := FindFilesByExtension("/projects", "jpg", 2000) // files3 == []string{"/projects/images/photo.jpg"}