Golang вопросы собеседований
13.5K subscribers
625 photos
3 videos
1 file
432 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, уделяя особое внимание таким передовым концепциям, как потоковая передача данных, многопоточность и эффективные структуры индексации. Вы увидите, как обрабатывать и искать большие наборы данных — в частности, рефераты Википедии — с эффективным использованием памяти. Следуя этому руководству, вы получите представление об использовании модели параллелизма Go и ее пригодности для высокопроизводительных приложений!

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Создание приложения с помощью Go и React!

🌟 В этой статье рассматриваются шаги по интеграции API на Go с фронтендом на React, настройка маршрутизации, работа с данными и управление состоянием.

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Задача: 395. Самая длинная подстрока, содержащая не менее K повторяющихся символов

В этой задаче Вам необходимо найти самую длинную подстроку строки \(s\), такую что каждая буква в ней встречается не менее \(k\) раз.

Если такой подстроки нет, вернуть 0.

Пример:

Вход: s = "aaabb", k = 3
Выход: 3

Объяснение: Самая длинная подходящая подстрока – "aaa", так как буква 'a' повторяется три раза.
### Описание алгоритма:

1. Генерация подстрок: Генерируем все возможные подстроки строки \(s\). Для каждой подстроки будем отслеживать частоту появления символов при помощи массива countMap.

2. Проверка валидности: Метод isValid проверяет, что каждый символ в текущей подстроке появляется хотя бы \(k\) раз. Это делается через проверку значений в массиве countMap. Если все символы удовлетворяют условию, то подстрока считается допустимой.

3. Обновление результата: Отслеживаем максимальную длину допустимых подстрок. Когда находим новую подходящую подстроку большей длины, обновляем результат. В итоге возвращаем длину самой длинной найденной подстроки.
Ответ:



package main

import (
"fmt"
)

func longestSubstring(s string, k int) int {
if len(s) == 0 || k > len(s) {
return 0
}
n := len(s)
result := 0

for start := 0; start < n; start++ {
countMap := make([]int, 26)
for end := start; end < n; end++ {
countMap[s[end]-'a']++
if isValid(countMap, k) {
if end-start+1 > result {
result = end - start + 1
}
}
}
}
return result
}
func isValid(countMap []int, k int) bool {
countLetters, countAtLeastK := 0, 0
for _, count := range countMap {
if count > 0 {
countLetters++
}
if count >= k {
countAtLeastK++
}
}
return countLetters == countAtLeastK
}

func main() {
fmt.Println(longestSubstring("aaabb", 3)) // Output: 3
fmt.Println(longestSubstring("ababbc", 2)) // Output: 5
}


@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Как развернуть Go-приложения с помощью Docker — пошаговое руководство для начинающих!

💡 Docker — это платформа контейнеризации, которая упрощает упаковку, распространение и развертывание приложений. Вы можете использовать преимущества Go и Docker для повышения эффективности, переносимости и безопасности своих приложений.

🌟 Этот урок направлен на то, чтобы научить вас, как создавать и развертывать приложения Go с помощью Docker. Вы научитесь создавать RESTful API с пакетами Gorilla Mux и GORM, которые вы будете контейнеризировать и развертывать.

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Проектирование систем: создание простой платформы социальных сетей на Go!

🌟 В этой статье автор рассматривает проектирование упрощенной платформы социальных сетей с использованием Go, сосредоточившись на принципах проектирования низкоуровневых систем. Платформа включает в себя основные функции, такие как регистрация пользователей, создание постов, обработка лайков и комментариев, а также систему уведомлений для поддержания пользователей в курсе событий.

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️Легкий способ получать свежие обновления и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:

МАШИННОЕ ОБУЧЕНИЕ: t.me/ai_machinelearning_big_data
C++ t.me/cpluspluc
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Хакинг: t.me/linuxkalii
Devops: t.me/DevOPSitsec
АНАЛИЗ Данных: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/javatg
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Docker: t.me/DevopsDocker
Golang: t.me/golang_interview
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
Собеседования МЛ: t.me/machinelearning_interview
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://yangx.top/gamedev

💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://yangx.top/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://yangx.top/addlist/mzMMG3RPZhY2M2Iy

😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno

🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://yangx.top/addlist/BkskQciUW_FhNjEy
👣 otel-tui — инструмент для просмотра данных OpenTelemetry в терминале!

🌟 Он поддерживает форматы OpenTelemetry, Zipkin (трейсы) и Prometheus (метрики). Этот инструмент позволяет получать, фильтровать и отображать информацию о трассировках, метриках и логах в текстовом пользовательском интерфейсе (TUI). Поддерживается запуск через Docker, Docker Compose и установка на различных системах.

🔐 Лицензия: Apache-2.0

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 raft — это реализация распределённого консенсусного алгоритма Raft на Go! Он предназначен для создания отказоустойчивых систем, согласующихся при изменении данных в условиях распределённых вычислений.

⭐️ Этот алгоритм обеспечивает надёжное управление кворумом узлов в кластере, поддерживая лидерство, репликацию логов и восстановление после сбоев, что делает его популярным выбором для распределённых хранилищ и сервисов.

🔐 Лицензия: MPL-2.0

🖥 GitHub

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Senior Go Developer в VK AdBlogger

VK AdBlogger — платформа, которая соединяет рекламодателей и блогеров ВКонтакте, помогая брендам размещать рекламу напрямую в аккаунтах авторов.

В команду ищут опытного Go-разработчика, который будет:
• создавать и развивать доменное направление для платформы influence- и performance-маркетинга;
• участвовать в системном дизайне;
• следить за выполнением задач доменной команды.
Стек: Go, React, Postgres, Kafka, Kuber.

Ожидается: вы в бэкенде от четырёх лет, в Go-разработке — от трёх, уже имели дело с PostgreSQL и in-memory хранилищами.

Подробнее о вакансии тут
👣 Эта статья объясняет, как настроить авторизацию в системе управления книжным магазином, используя Go, HTMX и сервис Permit.io!

🌟 Автор приводит пошаговое руководство по интеграции Permit.io для управления доступом, чтобы реализовать различные роли пользователей, например, администраторов и обычных пользователей. В статье подробно описывается процесс настройки ролей и разрешений, которые контролируют доступ к различным функциональным частям приложения, таким как добавление книг или управление заказами.

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Golang
👣😚 Выпущены версии Go 1.23.4 и 1.22.10🎉🎉🎉

🗣 Анонс: https://groups.google.com/g/golang-announce/c/3DyiMkYx4Fo

⬇️ Скачать: https://go.dev/dl/#go1.23.4

#golang

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 t.me/haskell_tg - Haskell входит в число наиболее востребованных функциональных языков программирования.

В нашем новом канале, вы найдете множество уроков, книг и гайдов для погружения в этот мощный язык с нуля.

Отличная возможность не только выучить новый язык, но и возможность прокачать свои навыки программирования.

t.me/haskell_tg - стоит подписаться!
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 RelaxSearch — это легкий, демонстрационный проект поисковой системы, созданный с помощью Go и Elasticsearch!

🔍 Он состоит из двух основных компонентов:

🌟 RelaxEngine: веб-скрейпер, который периодически индексирует контент с заданных URL с помощью cron-заданий и сохраняет его в Elasticsearch.

🌟 RelaxWeb: API-сервер, который предоставляет возможность полнотекстового поиска по проиндексированным данным.
Цель проекта — продемонстрировать основы создания поисковой системы.

💡 RelaxEngine выполняет веб-скрейпинг и индексацию данных, а RelaxWeb предоставляет REST API для поиска по этим данным с поддержкой фильтрации, пагинации и выделения ключевых слов.

🔐 Лицензия: MIT

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Обучающая статья: Golang gRPC с перехватчиком аутентификации, потоковой передачей и шлюзом на практике!

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 asynq — библиотека на Go для управления задачами и их очередями!

🌟 Библиотека использует Redis в качестве хранилища и предназначен для разработки асинхронных фоновых задач в приложениях. Asynq предоставляет гибкие возможности, включая планирование задач, обработку задач с высокой производительностью и управление ретраями.

🔍 Особенности включают:

🌟 Поддержка очередей с приоритетами для обработки задач в зависимости от их важности.

🌟 Планировщик задач с использованием cron для выполнения повторяющихся операций.

🌟 Расширяемая обработка задач, позволяющая управлять логикой обработки через middleware.

🔐 Лицензия: MIT

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Эта статья описывает процесс создания полнофункционального веб-приложения с использованием Go, PostgreSQL, Docker и HTTP-серверов!

🌟 Автор делится пошаговым руководством, в котором объясняется, как построить динамичное веб-приложение, начиная от разработки серверной части на Go до настройки базы данных PostgreSQL и контейнеризации всего проекта с помощью Docker!

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️Легкий способ получать свежие обновления и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:

МАШИННОЕ ОБУЧЕНИЕ: t.me/ai_machinelearning_big_data
C++ t.me/cpluspluc
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Хакинг: t.me/linuxkalii
Devops: t.me/DevOPSitsec
АНАЛИЗ Данных: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/javatg
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Docker: t.me/DevopsDocker
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
Собеседования МЛ: t.me/machinelearning_interview
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://yangx.top/gamedev
Haskell: t.me/haskell_tg

💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://yangx.top/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://yangx.top/addlist/mzMMG3RPZhY2M2Iy

😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno

🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://yangx.top/addlist/BkskQciUW_FhNjEy
👣 Создание простого приложения для мониторинга системы в режиме реального времени с использованием Go, HTMX и Web Socket!

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 История создания и развития языка программирования Go

Язык программирования Go (или Golang) был разработан компанией Google в 2007 году и впервые представлен в 2009 году.

Go был создан как ответ на ряд проблем, с которыми сталкивались разработчики при использовании существующих языков, таких как C++ и Java. Язык предназначался для создания высокопроизводительных, надежных и масштабируемых приложений, при этом отличаясь простотой и удобством использования.

📌 Читать статью

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