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

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

Ir al canal en Telegram

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

Mostrar más
7 428
Suscriptores
-524 horas
-77 días
+630 días
Archivo de publicaciones
💬 Как получить из среза массив и для чего это может быть нужно? 1. С использованием unsafe:
package main

import (
 "fmt"
 "unsafe"
)

func main() {
 slice := []int{1, 2, 3}
 arrayPtr := (*[3]int)(unsafe.Pointer(&slice[0]))
 fmt.Println(*arrayPtr)
}
2. С использованием copy:
package main

import "fmt"

func main() {
    slice := []int{1, 2, 3}
    var array [3]int
    copy(array[:], slice)
    fmt.Println(array)
}
Такое преобразование может потребоваться, когда мы хотим использовать срез как ключ в типе map. Поскольку в Go ключи мапы должны быть сравнимыми, мы можем использовать массив вместо среза, так как массивы с фиксированным размером сравнимы.

🤔 Где искать библиотеки и инструменты для своих проектов? 🧰 Подборка для Go-разработчика: 🔗 pkg.go.dev Здесь вы можете найдете пакеты по различным критериям и получите информацию о версии, лицензии и многом другом. 🔗 GitHub Вводите в поисковую строку language:go + свой запрос и анализируете результаты. 🔗 Awesome Go Один из самых старых и самых поддерживаемых кураторских списков по Go. 🔗 Libhunt.com Коллекция Go-проектов, отфильтрованных по количеству упоминаний, звезд или другим критериям. 🔗 go-recipes Тщательно подобранный список полезных Go-инструментов, разделенных на категориям. #tip

💬 Каков минимальный и максимальный вес горутин? Минимальный вес горутины в Go составляет ~2 КБ, что является начальным размером стека для каждой горутины. Этот размер может динамически увеличиваться и уменьшаться в зависимости от потребностей программы. Максимальный размер стека горутины зависит от архитектуры системы: 1 ГБ для 64-разрядной архитектуры, 250 МБ — для 32-разрядной.

💡 Одной из идиоматических практик Go является концепция return early, return often ✅ Вместо глубоко вложенного кода, Go приз
+3
💡 Одной из идиоматических практик Go является концепция
return early, return often
✅ Вместо глубоко вложенного кода, Go призывает разработчиков обрабатывать условия (особенно ошибки) и возвращать управление как можно скорее. ✅ Это делает код более читабельным и простым в сопровождении. #go #tip by Matt Boyle

Самые полезные каналы для программистов в одной подборке! Сохраняйте себе, чтобы не потерять 💾 🔥Для всех Библиотека программиста — новости, статьи, досуг, фундаментальные темы Книги для программистов IT-мемы Proglib Academy — тут мы рассказываем про обучение и курсы #️⃣C# Книги для шарпистов | C#, .NET, F# Библиотека шарписта — полезные статьи, новости и обучающие материалы по C# Библиотека задач по C# — код, квизы и тесты Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel ☁️DevOps Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps Вакансии по DevOps & SRE Библиотека задач по DevOps — код, квизы и тесты Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования 🐘PHP Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP Вакансии по PHP, Symfony, Laravel Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по PHP — код, квизы и тесты 🐍Python Библиотека питониста — полезные статьи, новости и обучающие материалы по Python Вакансии по питону, Django, Flask Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Python — код, квизы и тесты ☕Java Библиотека джависта — полезные статьи по Java, новости и обучающие материалы Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Java — код, квизы и тесты Вакансии для java-разработчиков 👾Data Science Книги для дата сайентистов | Data Science Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Data Science — код, квизы и тесты Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту 🦫Go Книги для Go разработчиков Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Go — код, квизы и тесты Вакансии по Go 🧠C++ Книги для C/C++ разработчиков Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++ Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по C++ — код, квизы и тесты Вакансии по C++ 💻Другие профильные каналы Библиотека фронтендера Библиотека мобильного разработчика Библиотека хакера Библиотека тестировщика 💼Каналы с вакансиями Вакансии по фронтенду, джаваскрипт, React, Angular, Vue Вакансии для мобильных разработчиков Вакансии по QA тестированию InfoSec Jobs — вакансии по информационной безопасности 📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈 🤖Также у нас есть боты: Бот с IT-вакансиями Бот с мероприятиями в сфере IT Мы в других соцсетях: 🔸VK 🔸YouTube 🔸Дзен 🔸Facebook * 🔸Instagram * * Организация Meta запрещена на территории РФ

💬 В какой момент выполняется defer в Go? В Go, оператор defer используется для гарантии выполнения определённого кода непосредственно перед выходом из функции, независимо от того, как происходит выход: из-за return, достижения конца тела функции или в результате возникновения паники. Иструкции внутри блока defer выполняются после того, как функция вычислит возвращаемые значения, но до момента фактического возвращения управления вызывающему коду. Это означает, что хотя возвращаемые значения функции уже определены к моменту выполнения defer, defer позволяет модифицировать эти возвращаемые значения, если они определены как именованные возвращаемые параметры в сигнатуре функции.

Ответьте на 3 вопроса, чтобы получить вводные занятия к курсу «Алгоритмы и структуры данных» 🔥Получите вводные занятия, отве
Ответьте на 3 вопроса, чтобы получить вводные занятия к курсу «Алгоритмы и структуры данных» 🔥Получите вводные занятия, ответив на 3 вопроса – https://proglib.io/w/10107764 На вводной части вас ждут: 1. Лекция «Производительность алгоритмов» от руководителя разработки Яндекс.Самокатов 2. Лекция «Итеративные сортировки и линейные сортировки» от аспирант департамента искусственного интеллекта ВШЭ 3. Практические задания после лекций 4. Ссылки на дополнительные материалы для самостоятельного изучения ⚡️Переходите и начинайте учиться уже сегодня – https://proglib.io/w/10107764

🏃 Самоучитель по Go для начинающих. Часть 10. Введение в ООП. Наследование, абстракция, полиморфизм, инкапсуляция В этой час
🏃 Самоучитель по Go для начинающих. Часть 10. Введение в ООП. Наследование, абстракция, полиморфизм, инкапсуляция В этой части самоучителя разберем основные понятия и принципы объектно-ориентированного программирования, а также рассмотрим примеры их реализации в языке Go. В конце статьи применим изученный материал на практике, решив 2 интересные задачи. 👉 Читать гайд 📌 Остальные части в серии: 1. Особенности и сфера применения Go, установка, настройка 2. Ресурсы для изучения Go с нуля 3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста. 4. Переменные. Типы данных и их преобразования. Основные операторы 5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы 6. Функции и аргументы. Области видимости. Рекурсия. Defer 7. Массивы и слайсы. Append и сopy. Пакет slices 8. Строки, руны, байты. Пакет strings. Хеш-таблица (map) 9. Структуры и методы. Интерфейсы. Указатели. Основы ООП

💬 В чем ключевые различия между HTTP/1.1, HTTP/2 и HTTP/3? 🔹 HTTP/1.1 — текстовый протокол, который использует одно соединение для каждого запроса, что может вызывать задержки из-за очередей запросов (Head-of-Line Blocking) и неэффективно использовать сетевые ресурсы. 🔹 HTTP/2 — бинарный протокол, поддерживающий мультиплексирование запросов через одно соединение для уменьшения задержек, приоритизацию потоков для оптимизации загрузки и сжатие заголовков для сокращения объёма передаваемых данных. 🔹 HTTP/3 использует протокол QUIC вместо TCP, улучшая скорость установления соединений, уменьшая задержки благодаря независимой передаче данных в разных потоках и повышая эффективность восстановления после потерь пакетов.

Открытое собеседование на Gо-разработчика 14 марта(уже завтра!) в 19:00 по мск приходи онлайн на Открытое собеседование от Эй
Открытое собеседование на Gо-разработчика 14 марта(уже завтра!) в 19:00 по мск приходи онлайн на Открытое собеседование от Эйч Навыков. Как это будет: 1. Сергей Парамошкин, Deputy CTO в Yandex Cloud и ментор Эйч Навыков, позадает реальные вопросы и задачи разработчику-добровольцу 2. Потом Сережа даст подробную обратную связь — объяснит, зачем задавал тот или иной вопрос, как лучше на него ответить или решить задачу 3. В конце можно будет задать любой вопрос Сереже Что узнаешь на Открытом собеседовании: - Чего ждут от кандидатов на мидл-позиции в Gо-разработке - Какие вопросы задают на интервью и зачем - Как подготовиться к собесу, чтобы получить заветный оффер Это бесплатно? Бесплатно Просто зарегистрируйся на открытое собеседование в нашем боте @skills_mentee_bot Реклама: ООО “Эйч Карьера” erid: LjN8K3d5r

💬 Что такое индексы и составные индексы в контексте баз данных (например, MySQL)? Для чего используется инструкция EXPLAIN? Индексы являются инструментом для оптимизации SQL-запросов. Они ускоряют доступ к данным, сокращая количество операций чтения и сравнения. 🔸 Индексы — это отсортированные наборы значений для конкретных колонок. Они позволяют базе данных быстрее находить строки, соответствующие условиям запроса, особенно в больших таблицах. 🔸 Составные индексы — это индексы, построенные на нескольких колонках. Они полезны для запросов, которые используют несколько колонок в условиях WHERE, JOIN или ORDER BY. Порядок колонок в составном индексе важен, так как он влияет на эффективность индекса. 🔸 Инструкция EXPLAIN в MySQL используется для анализа того, как выполняются SQL-запросы. Она показывает, какие индексы используются, сколько строк должно быть прочитано, и помогает определить, как можно оптимизировать запросы. EXPLAIN особенно полезна для понимания работы составных индексов и для проверки, использует ли запрос индекс эффективно. 👉 Подробнее

💬 Для чего предназначена директива //go:generate? //go:generate — это директива в Go, используемая для генерации кода перед компиляцией. Она вставляется в комментарии и указывает инструменту go generate, что и как должно быть сгенерировано. Когда мы запускаем go generate в директории нашего пакета, Go ищет все директивы //go:generate в исходных файлах и выполняет указанные команды. 📌 Вот как это работает: 1. Директива //go:generate размещается в комментарии внутри исходника Go. Обычно это делается в начале файла, но она может быть расположена где угодно в коде. 2. Стандартный формат директивы — //go:generate за которым следует команда, которую нужно выполнить. Например: //go:generate go run generator.go. 3. Когда мы запускаем go generate в директории пакета, Go перебирает все файлы в директории, ищет директивы //go:generate и выполняет соответствующие команды. Это может включать запуск скриптов генерации кода, инструментов для автоматизации и т. д. 💡 go:generate часто используется для автоматизации повторяющихся задач, таких как генерация дополнительного кода из шаблонов или интерфейсов, автоматическое создание моков для тестирования, обновление документации и т. д.

🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи Напоминаем, что у нас есть бесплатный курс для всех, кто хо
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом. Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций. Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах. 👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.

Команда avito.code изучила самые значимые улучшения Golang 1.22 и подготовила по ним видеообзор. Смотрите, как изменения в по
Команда avito.code изучила самые значимые улучшения Golang 1.22 и подготовила по ним видеообзор. Смотрите, как изменения в поведении циклов for повышают производительность кода, в новом выпуске проекта.

💬 Что такое эвакуация данных из бакета в контексте типа map в Go? Увеличение количества бакетов в Go и распределение существующих пар ключ-значение называется эвакуацией данных. Принятие решения о выполнении эвакуации зависит от значения load factor (среднее заполнение бакетов). В Go значение loadFactor равно 6.5, то есть процесс эвакуации начинается, когда средняя заполняемость бакетов достигает 6.5 или 80% для бакета с размером 8. Также на выполнение эвакуации в Go влияет количество связанных бакетов.

🚀System Design 101 Готовитесь к собеседованию по проектированию систем или просто хотите понять принцип работы сложных систе
🚀System Design 101 Готовитесь к собеседованию по проектированию систем или просто хотите понять принцип работы сложных систем? Тогда репозиторий ByteByteGo точно для вас. 👉 GitHub

💬 Что такое транзакции и какие бывают уровни изоляции транзакций в контексте баз данных? 👉 Транзакции — это последовательность операций, которые либо полностью выполняются, либо не выполняются вовсе, обеспечивая свойства ACID (атомарность, согласованность, изоляция, долговечность). 👉 Выбор уровня изоляции зависит от требований к консистентности данных и допустимости параллелизма транзакций. 📌 Уровни изоляции транзакций определяют, как данные видны другим транзакциям и как они защищены от одновременных изменений. Уровни включают: 1. Read uncommitted: наименьший уровень изоляции, позволяет читать незафиксированные данные, что может привести «грязному» чтению. 2. Read committed: позволяет избежать «грязного» чтения, но не устраняет феномены неповторяемого чтения и фантомного чтения. 3. Repeatable read: предотвращает неповторяемые чтения, но может не предотвратить фантомное чтение. 4. Serializable: самый высокий уровень изоляции, который предотвращает фантомное чтение, но может снижать производительность из-за блокировок. 🔗 Подробнее на Хабре или на Википедии