Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
19 - Telegram Web
Telegram Web
Channel created
Please open Telegram to view this post
VIEW IN TELEGRAM
👨🏻‍💻 Golang Developer

Локация: Удаленно
Компания: Правое полушарие Интроверта
ЗП: от 260 000 р.
Занятость: Полная

Ожидания от кандидата:
▪️ Может заставить API танцевать под свою дудку.
▪️ Не просто разрабатывает новые фичи, а выковывает их из кода.
▪️ Не плачет, когда приходят задачи по рефакторингу (по возможности).
▪️ Готов не только кодить, но и философствовать о смысле кода, участвуя в бесконечных дискуссиях о лучших практиках.
▪️ Пишет код, словно это поэзия, заставляя даже компьютеры читать его с восхищением.

С тебя:
▪️ Опыт работы с Golang от 2-х лет.
▪️ Умеешь в concurency, deadlock для тебя не "мертвый замок".
▪️ Опыт работы с брокерами сообщений: RabbitMQ и Kafka.
▪️ Опыт работы с Docker.
▪️ Работал_а с SQL и NoSQL базами данных (у нас MongoDB, PostgreSQL, Elasticsearch, Redis).
▪️ Знаком с основными алгоритмами, структурами данных. Базовые паттерны проектирования и принципы чистого кода.
▪️ Понимание необходимости покрывать код тестам.
▪️ Знание HTTP, REST, gRPC.

Будет плюсом:
▪️ Опыт работы с Clickhouse, CI/CD, Kubernetes.

Условия работы:
▪️ Полная удаленка.
▪️ Деньги тоже платим. Как говорится, ответим в директ (по итогам собеса согласуем).
▪️ Компания-резидент "Сколково", аккредитованная Минцифры, в реестре отечественного ПО.
▪️ Работа в команде, которая кайфует, горит от сделанного! И продукте, где получаешь отклик моментально, благодаря крутым и открытым пользователям!
▪️ Не давим инструкциями, прислушиваемся, даем возможность реализовать «по своему» и желательно ничего не сломать (ну, пожалуйста).
▪️ Классный коллектив и чатики с мемами 24/7.

Дополнительные инструкции:
Ответы на вопросы в сопроводе увеличивают шансы попасть в команду!
Вопросы:
Почему мы? Чем тебе интересен проект?
Напиши 2-3 любимых мема.

​​​​​​​​​​​​​📩 Резюме отправлять: hr@artforintrovert.ru
#ЧеКак
🤔 В чем сила пакета singleflight?

🟠singleflight предоставляет механизм подавления дублирующихся вызовов функций. Например, наше приложение запрашивает данные из API или базы данных.

🟠Если несколько запросов инициируют один и тот же вызов, это может привести к множественным идентичным вызовам к БД или API. Это создает нагрузку на систему, ведет к потерям CPU, памяти и пропускной способности сети.

🟠singleflight также может используется в serverless кейсах. Google App Engine, например, применяет его как часть функции инициализации, поскольку там нет main.go.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЧеКак
🤓 Что такое указатели?

Это переменные, которые хранят адреса других переменных в памяти. Они позволяют изменять данные в памяти напрямую, что экономит ресурсы, избегая копирования. Указатели полезны для работы с большими структурами или данных, передаваемых между функциями.

👉 Новости 👉 Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓 Какой из следующих пакетов в Go используется для работы с НТТР-серверами и клиентами?
Anonymous Quiz
18%
fmt
79%
net/http
0%
os
3%
encoding/json
🤓 Какой тип данных используется в Golang для хранения коллекции значений, которые не изменяются?
Anonymous Quiz
35%
Slice
19%
Map
26%
Array
19%
Struct
#ЧеКак
🤔 Зачем нужен пустой интерфейс?

Является мощным инструментом, который позволяет работать с данными любого типа. Его универсальность и гибкость делают его полезным в различных ситуациях.

🟠Универсальные контейнеры и структуры данных
Пустой интерфейс позволяет создавать структуры данных, которые могут хранить значения любого типа. Это полезно для реализации таких структур данных, как списки, карты и другие коллекции, которые могут содержать разнородные элементы.
package main

import "fmt"

func main() {
var items []interface{}
items = append(items, 42, "hello", true, 3.14)

for _, item := range items {
fmt.Println(item)
}
}


🟠Обобщенные функции и методы
Пустой интерфейс позволяет писать обобщенные функции и методы, которые могут работать с данными любого типа. Это помогает избежать дублирования кода и повышает его переиспользуемость.
package main

import "fmt"

func printAny(value interface{}) {
fmt.Println(value)
}

func main() {
printAny(42)
printAny("hello")
printAny(true)
}


🟠Передача данных между различными компонентами
Пустой интерфейс часто используется для передачи данных между различными компонентами системы, которые могут работать с разными типами данных. Это позволяет компонентам быть более гибкими и адаптируемыми.
package main

import "fmt"

func process(data interface{}) {
switch v := data.(type) {
case string:
fmt.Println("String:", v)
case int:
fmt.Println("Integer:", v)
case bool:
fmt.Println("Boolean:", v)
default:
fmt.Printf("Unknown type: %T\n", v)
}
}

func main() {
process("hello")
process(42)
process(true)
}


🟠Интерактивные интерфейсы и API
При разработке интерактивных интерфейсов и API, пустой интерфейс позволяет обрабатывать входные данные, которые могут быть любого типа. Это полезно для реализации функций, принимающих произвольные параметры.
package main

import "fmt"

func apiHandler(params ...interface{}) {
for _, param := range params {
fmt.Println(param)
}
}

func main() {
apiHandler(42, "hello", true, 3.14)
}


🟠Интеграция с внешними библиотеками
При интеграции с внешними библиотеками и системами, которые могут возвращать данные различных типов, пустой интерфейс позволяет обрабатывать эти данные без необходимости заранее знать их тип.
package main

import (
"encoding/json"
"fmt"
)

func main() {
jsonData := `{"name": "Alice", "age": 30}`
var result map[string]interface{}
json.Unmarshal([]byte(jsonData), &result)

fmt.Println(result)
}


👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой файл используется для управления зависимостями и версиями модулей в Go?
Anonymous Quiz
0%
dependencies.txt
13%
package.json
87%
go.mod
0%
requirements.txt
#ЧеКак
🤔 Что такое тип byte?

byte — это псевдоним для uint8, представляющий один байт данных. Используется для работы с необработанными данными, такими как файлы или сетевые пакеты, а также для операций с массивами и срезами байтов.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#Вакансии
👨‍💻 Golang-разработчик

Локация: Удалённо
Компания: Jetlyn
ЗП: от 240 000 до 290 000 р.
Занятость: Полная
Описание проекта:
Разработка для энергетической компании.

🚩Обязанности/функционал
▪️Принимать участие в проектировании информационной системы;
▪️Разрабатывать компоненты информационной системы на языке Go;
▪️Разбираться со сложными математическими методами и реализовывать их;
▪️Обеспечивать поддержку процессов бизнес-анализа и тестирования;
▪️Документировать полученные результаты.
Основные технологии на проекте: Golang / Clickhouse / Kafka / PostgreSQL.

Требования/необходимый опыт
▪️Опыт работы Go-разработчиком от 3х лет;
▪️Опыт работы с СУБД PostreSQL;
▪️Понимание коллективного процесса разработки и тестирования ПО;
▪️Общая компьютерная грамотность: TCP/IP, HTTP, JSON, SQL.

Ключевые компетенции
Python
Django
Django
REST
Celery
PostgreSQL
MySQL
Redis
Docker
Docker Compose
GitLab
Unittest
Pytest

Будет плюсом
▪️Опыт работы с СУБД ClickHouse;
▪️Наличие завершенных коммерческих проектов, участие в OpenSource-проектах на уровне maintainer;
▪️Знание Python и особенно библиотек обработки данных (NymPy или других скриптовых языков);
▪️Интерес и знания в области машинного обучения;
▪️Опыт работы разработчиком на других ЯП.

💬 Резюме отправлять: @Geniya_HR

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЧеКак
🤔 Что такое линтеры (linters)?

Это инструменты для статического анализа кода, которые проверяют исходный код на соответствие заданным правилам и стандартам. Линтеры помогают находить потенциальные ошибки, улучшать стиль кода и обеспечивать его соответствие лучшим практикам.

🚩Основные функции линтеров

🟠Проверка стиля кода
Линтеры проверяют, соответствует ли код стилевым рекомендациям и стандартам, таким как использование отступов, именование переменных и форматирование.

🟠Поиск ошибок
Линтеры могут обнаруживать потенциальные ошибки, такие как неиспользуемые переменные, неправильные типы данных, неинициализированные переменные и другие проблемы.

🟠Обеспечение соответствия стандартам
Линтеры помогают поддерживать код в соответствии с общепринятыми стандартами и лучшими практиками, что улучшает читаемость и поддержку кода.

🟠Улучшение качества кода
Линтеры могут указывать на участки кода, которые можно улучшить, например, упростить сложные конструкции или оптимизировать производительность.

🚩Примеры линтеров для различных языков

🟠Go
golint: Проверяет стиль кода на соответствие рекомендациям Go.
gofmt: Автоматически форматирует код в соответствии со стандартами Go.
staticcheck: Более мощный инструмент, который находит ошибки, неэффективные конструкции и другие проблемы.

🟠JavaScript/TypeScript
ESLint: Очень мощный и настраиваемый линтер для JavaScript и TypeScript
JSHint: Инструмент для выявления ошибок и потенциальных проблем в JavaScript-коде.

🟠Python
Pylint: Линтер для Python, который проверяет стиль кода, ищет ошибки и предлагает улучшения.
flake8: Комбинированный инструмент, который включает в себя проверки на стиль, ошибки и другие проблемы.

🟠Java
Checkstyle: Инструмент для проверки стиля кода Java.
PMD: Находит потенциальные ошибки, неиспользуемый код и другие проблемы в коде Java.

🚩Пример использования линтера в Go

1⃣Установка golint
go install golang.org/x/lint/golint@latest


2⃣Создайте файл example.go
package main

import "fmt"

func main() {
fmt.Println("Hello, world!")
}


3⃣Запустите golint
golint example.go


🚩Пример использования линтера в JavaScript

1⃣Установка ESLint
npm install eslint --save-dev


2⃣Инициализация конфигурации ESLint
npx eslint --init


3⃣Создайте файл example.js
function hello() {
console.log("Hello, world!");
}

hello();


Запустите ESLint:
npx eslint example.js


🚩Плюсы

Поддержание единого стиля кода
Линтеры помогают всем разработчикам в команде придерживаться одного стиля кода, что улучшает читаемость и поддержку.

Раннее обнаружение ошибок
Линтеры могут обнаруживать ошибки еще до запуска кода, что сокращает время на отладку и тестирование.

Повышение качества кода
Линтеры указывают на потенциальные проблемы и предлагают улучшения, что способствует написанию более качественного и надежного кода.

Обучение и развитие
Использование линтеров помогает разработчикам учиться и развиваться, узнавая о лучших практиках и стандартах кода.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЧеКак
🤔 Какая ссылка производительнее: unowned или weak?

unowned ссылка производительнее, так как она не увеличивает счётчик ссылок объекта. Однако unowned нужно использовать осторожно, так как она приводит к крашу, если объект уже деинициализирован. weak безопаснее, но добавляет небольшую накладную из-за проверки на nil.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#Вакансии
👨‍💻 Golang разработчик (senior)

Локация: Удалённо в РФ, РБ
Компания: Top Selection
ЗП: от 250 000 до 280 000 р.
Занятость: Полная

Компания Top Selection.
Наша компания занимается продуктовой разработкой и аутсорсингом it персонала для рынка России.
Оформление: ИП
Работа по мск времени

Требования:
опыт коммерческой разработки бэкенда на Golang от 5 лет;
опыт работы с SQL базами данных (на уровне join-ов, оптимизации запросов);
умение проектировать сервисы, общающиеся через kafka;
умение проектировать API сервисов;
опыт работы с нереляционными базами данных (Redis);
опыт работы с Docker, k8s и Git.

💬 Резюме отправлять: @ansharkunova

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/07/05 15:47:06
Back to Top
HTML Embed Code: