Golang вопросы собеседований
13.5K subscribers
633 photos
4 videos
1 file
436 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, но многие из концепций и трюков будут уместны почти в любом достаточно низкоуровневом языке программирования.

📎 Статья

@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
👣 Несколько скриптов на Go для лучшего понимания веб-программирования

В частности, это фрагменты Go-кода для создания HTTP-сервера, для подключения к MySQL, для работы с JSON и ещё для некоторых частых сценариев использования Go в веб-приложениях

📎 Скрипты с объяснением

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Отличный ресурс для изучения Go

Здесь описываются важные концепции Go, всё подкрепляется большим количеством примеров
Некоторые из рассматриваемых тем:
— атомарные операции и использование sync/atomic
— методы синхронизации горутин
— частые ошибки в программировании на Go
— детальное объяснение panic/recover

📎 Книга

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

▶️Итак, нужно написать функцию поиска подстроки на Go.
Без лишних библиотек и готовых функцию, просто поиск в чистом виде.
На входе строка str и подстрока subStr, на выходе true или false. Как это можно сделать?

▶️Если не гнаться за эффективностью, то алгоритм совсем простой — перебираем в исходной строке все подстроки нужной длины и сравниваем с заданной:
package main

import (
"fmt"
)

func findSubstring(str string, match string) bool {
if len(str) < len(match) {
return false
}
for i := 0; i <= len(str)-len(match); i++ {
subStr := str[i : i+len(match)]
if subStr == match {
return true
}
}
return false
}

func main() {
{
s1, s2 := "Hello", "ll"
fmt.Println(findSubstring(s1, s2))
}

// true
}

Это "наивная" реализация поиска.

🟡А вообще, есть более продвинутые алгоритмы: Кнута-Морриса-Пратта и Бойера-Мура

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

Вопросы тут самые разные: простые/сложные, теоретические и на написание кода, есть архитектурные вопросы

📎 Вопросы с ответами

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