Golang вопросы собеседований
13.5K subscribers
631 photos
3 videos
1 file
433 links
@notxxx1 - админ

@Golang_google - Golang для разработчиков

@itchannels_telegram - 🔥лучшие из ит

@golangl - chat

@golangtests - golang tests

@golang_jobsgo - go chat jobs

@ai_machinelearning_big_data - AI

@data_analysis_ml

РКН: clck.ru/3FmtKd
加入频道
👣 Шпаргалка по Go

Поможет в быстром повторении ключевых аспектов Go;
здесь описываются все основные концепции — синтаксис и структуры данных, работа со строками, управление потоком, ветвления и циклы, горутины, конкурентное программирование и ещё много всего

📎 Cheat sheet

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Markdown — в HTML

Отличная идея для пет-проекта — генератор статических сайтов для преобразования Markdown в HTML.

Можно использовать в виде CLI:
go get -u github.com/gomarkdown/mdtohtml

🟡 Туториал
🖥 GitHub

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Подборка полезных ресурсов для подготовки к собеседованию по Go (в особенности к алгоритмической части)

Временная сложность алгоритмов
O-нотация
Связные списки
Хэш-таблица
Рекурсия
Дерево
Бинарное дерево поиска
Бинарный поиск
Алгоритм Дейкстры

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Сетевое программирование в Go

Держите открытую книгу, в которой в деталях описано, как Golang взаимодействует с сетью
Описывается использование протоколов TCP, UDP, IP, модель OSI и другие аспекты сетевого программирования с позиции Go-разработчика

▶️ PDF

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Установка Go на Linux без использования пакетного менеджера

Надеюсь, не пригодится, но если что, у вас будет план действий.
Не благодарите)

Итак, вот шаги:
🟡1. Создать каталоги где будет размещаться Go. В примере, Go размещается в домашнем каталоге пользователя. Для создания сразу нескольких каталогов можно использовать команду mkdir. Ключ -p автоматически создаст недостающие директории.
$ mkdir -p $HOME/golang/libs


🟡2. Скачать последнюю версию golang с сайта https://golang.org/dl/ и распакуйте его в ранее созданную папку. Также можно воспользоваться командами ниже
$ wget https://dl.google.com/go/go1.12.1.linux-amd64.tar.gz
$ tar -C $HOME/golang -xzf go1.12.1.linux-amd64.tar.gz


🟡3. Должна получиться следующая структура:
/home/{user_name}/golang/go — папка из архива
/home/{user_name}/golang/libs — папка для загрузки сторонних библиотек

🟡4. Добавить переменные окружения в выполнив команды
$ echo "export GOPATH=$HOME/golang/libs" >> $HOME/.profile
$ echo "export GOROOT=$HOME/golang/go" >> $HOME/.profile
$ echo "export PATH=$PATH:$GOROOT/bin:$GOPATH/bin" >> $HOME/.profile


🟡5. Применить изменения в файле, выполнив команду
$ source $HOME/.profile


🟡6. Проверить что Go доступен
$ go
Go is a tool for managing Go source code.
....


🟡7. Если все работает, то можно перелогиниться, чтобы новые переменные окружения применялись автоматически. Можно и не перезагружаться, если все шаги выполнены верно.

Примечания
1. Если не планируется использовать текстовые редакторы с плагинами для Go, то можно добавить переменные окружения из шага 4 в файл $HOME/.bashrc или $HOME/.bash_profile (если используется bash).

2. Примечание 1 справедливо и для SSH, если планируется использовать компилятор Go на удаленном хосте. Или можно каждый раз при заходе на удаленный хост выполнять команду из шага 5.

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Go-утилита для преобразования изображения в ASCII

Интересная идея для пет-проекта; к тому же есть большой простор для улучшений — вот что можно доработать:
— выбор количества символов в итоговой ASCII-графике
— отображение нескольких вариантов полученной графики с использованием разных наборов символов
— выбор уровня детализации изображения

🖥 GitHub

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Отличная шпаргалка по Go

Поможет быстро погрузиться в Go или освежить базовые концепции

📎 Cheat sheet

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Самый быстрый поиск пути на Go без аллокаций и СМС

Алгоритмы важны. Но реализовать их можно очень по-разному. При одном и том же алгоритме, оптимизированная библиотека будет в тысячу раз быстрее наивной.
Любите оптимизации, специализированные структуры данных и трюки с битами? Тогда статья отлично подойдёт, да и освежить эти темы не помешает перед каким-нибудь собеседованием

Важно — статья не про алгоритмы, а про микрооптимизации, структуры данных и прочие хитрости. Мы будем ограничивать область нашей задачи, чтобы создавать лучшие решения конкретно под неё.
Разобраны примеры именно на Go, но многие из концепций и трюков будут уместны почти в любом достаточно низкоуровневом языке программирования.

📎 Статья

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
👣 Отличная идея для пет-проекта на Go — редактор CSV в терминале

go install github.com/hymkor/csvi/cmd/csvi@latest

Редактор имеет такие флаги:
-help — справка
-h int — вывод такого количества строк таблицы
-c — использовать запятую в качестве разделителя полей (по умолчанию, если суффикс .csv)
-t — использовать TAB в качестве разделителя полей (по умолчанию, если суффикс не .csv)
-semicolon — использовать точку с запятой в качестве разделителя полей
-16be — принудительное чтение/запись в формате UTF-16BE
-16le — принудительное чтение/запись в формате UTF-16LE
-nonutf8 — не отображать как UTF-8
-w uint — установить ширину ячейки (по умолчанию 14)

🖥 GitHub

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Go — 100 вопросов/заданий с собеседований

Вот некоторые из вопросов:
— Расскажи про GOPATH
— Объясни, что такое замыкание
— Как реализована концепция полиморфизма в Go?
— Перечисли типы данных Go
— Какова роль операторов & и * в Go

🟡 GitHub
🟡Видео

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Вопросы на собеседовании по Go

В этой⁣ статье⁤ обсуждаются актуальные вопросы по Go, которые могут всплыть. От основ языка до сложных концепций и лучших практик — вопросы довольно разные.⁢

Оглавление
├╼ Основы Go:⁢ что должен знать каждый разработчик
├╼ Глубокое погружение в конкурентность и⁣ параллелизм
├╼ Управление зависимостями и модулями: лучшие ⁣практики
├╼ Работа с сетью и протоколами в контексте Go
├╼ Паттерны проектирования для Go
├╼ Оптимизация производительности⁣ и отладка в Go
├╼ Советы по подготовке и частые ошибки
╰╼ Ещё несколько простых вопросов

📎 Ссылка

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM