👨🏻💻 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
Локация: Удаленно
Компания: Правое полушарие Интроверта
ЗП: от 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?
🟠
🟠 Если несколько запросов инициируют один и тот же вызов, это может привести к множественным идентичным вызовам к БД или API. Это создает нагрузку на систему, ведет к потерям CPU, памяти и пропускной способности сети.
🟠
👉 Новости 👉 Платформа
singleflight
предоставляет механизм подавления дублирующихся вызовов функций. Например, наше приложение запрашивает данные из API или базы данных. 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
#ЧеКак
🤔 Зачем нужен пустой интерфейс?
Является мощным инструментом, который позволяет работать с данными любого типа. Его универсальность и гибкость делают его полезным в различных ситуациях.
🟠 Универсальные контейнеры и структуры данных
Пустой интерфейс позволяет создавать структуры данных, которые могут хранить значения любого типа. Это полезно для реализации таких структур данных, как списки, карты и другие коллекции, которые могут содержать разнородные элементы.
🟠 Обобщенные функции и методы
Пустой интерфейс позволяет писать обобщенные функции и методы, которые могут работать с данными любого типа. Это помогает избежать дублирования кода и повышает его переиспользуемость.
🟠 Передача данных между различными компонентами
Пустой интерфейс часто используется для передачи данных между различными компонентами системы, которые могут работать с разными типами данных. Это позволяет компонентам быть более гибкими и адаптируемыми.
🟠 Интерактивные интерфейсы и API
При разработке интерактивных интерфейсов и API, пустой интерфейс позволяет обрабатывать входные данные, которые могут быть любого типа. Это полезно для реализации функций, принимающих произвольные параметры.
🟠 Интеграция с внешними библиотеками
При интеграции с внешними библиотеками и системами, которые могут возвращать данные различных типов, пустой интерфейс позволяет обрабатывать эти данные без необходимости заранее знать их тип.
👉 Новости 👉 Платформа
Является мощным инструментом, который позволяет работать с данными любого типа. Его универсальность и гибкость делают его полезным в различных ситуациях.
Пустой интерфейс позволяет создавать структуры данных, которые могут хранить значения любого типа. Это полезно для реализации таких структур данных, как списки, карты и другие коллекции, которые могут содержать разнородные элементы.
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, пустой интерфейс позволяет обрабатывать входные данные, которые могут быть любого типа. Это полезно для реализации функций, принимающих произвольные параметры.
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
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
👉 Новости 👉 Платформа
Локация: Удалённо
Компания: Jetlyn
ЗП: от 240 000 до 290 000 р.
Занятость: Полная
Описание проекта:
Разработка для энергетической компании.
▪️Принимать участие в проектировании информационной системы;
▪️Разрабатывать компоненты информационной системы на языке Go;
▪️Разбираться со сложными математическими методами и реализовывать их;
▪️Обеспечивать поддержку процессов бизнес-анализа и тестирования;
▪️Документировать полученные результаты.
Основные технологии на проекте: Golang / Clickhouse / Kafka / PostgreSQL.
Требования/необходимый опыт
▪️Опыт работы Go-разработчиком от 3х лет;
▪️Опыт работы с СУБД PostreSQL;
▪️Понимание коллективного процесса разработки и тестирования ПО;
▪️Общая компьютерная грамотность: TCP/IP, HTTP, JSON, SQL.
Ключевые компетенции
Будет плюсом
▪️Опыт работы с СУБД ClickHouse;
▪️Наличие завершенных коммерческих проектов, участие в OpenSource-проектах на уровне maintainer;
▪️Знание Python и особенно библиотек обработки данных (NymPy или других скриптовых языков);
▪️Интерес и знания в области машинного обучения;
▪️Опыт работы разработчиком на других ЯП.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Go выполняется блокировка данных для предотвращения гонок?
Anonymous Quiz
39%
С использованием мьютексов из пакета sync
11%
С использованием каналов
6%
С использованием атомарных операций из пакета sync/atomic
44%
Все вышеперечисленные
#ЧеКак
🤔 Что такое линтеры (linters)?
Это инструменты для статического анализа кода, которые проверяют исходный код на соответствие заданным правилам и стандартам. Линтеры помогают находить потенциальные ошибки, улучшать стиль кода и обеспечивать его соответствие лучшим практикам.
🚩 Основные функции линтеров
🟠 Проверка стиля кода
Линтеры проверяют, соответствует ли код стилевым рекомендациям и стандартам, таким как использование отступов, именование переменных и форматирование.
🟠 Поиск ошибок
Линтеры могут обнаруживать потенциальные ошибки, такие как неиспользуемые переменные, неправильные типы данных, неинициализированные переменные и другие проблемы.
🟠 Обеспечение соответствия стандартам
Линтеры помогают поддерживать код в соответствии с общепринятыми стандартами и лучшими практиками, что улучшает читаемость и поддержку кода.
🟠 Улучшение качества кода
Линтеры могут указывать на участки кода, которые можно улучшить, например, упростить сложные конструкции или оптимизировать производительность.
🚩 Примеры линтеров для различных языков
🟠 Go
🟠 JavaScript/TypeScript
🟠 Python
🟠 Java
🚩 Пример использования линтера в Go
1⃣ Установка
2⃣ Создайте файл
3⃣ Запустите
🚩 Пример использования линтера в JavaScript
1⃣ Установка
2⃣ Инициализация конфигурации
3⃣ Создайте файл
Запустите
🚩 Плюсы
➕ Поддержание единого стиля кода
Линтеры помогают всем разработчикам в команде придерживаться одного стиля кода, что улучшает читаемость и поддержку.
➕ Раннее обнаружение ошибок
Линтеры могут обнаруживать ошибки еще до запуска кода, что сокращает время на отладку и тестирование.
➕ Повышение качества кода
Линтеры указывают на потенциальные проблемы и предлагают улучшения, что способствует написанию более качественного и надежного кода.
➕ Обучение и развитие
Использование линтеров помогает разработчикам учиться и развиваться, узнавая о лучших практиках и стандартах кода.
👉 Новости 👉 Платформа
Это инструменты для статического анализа кода, которые проверяют исходный код на соответствие заданным правилам и стандартам. Линтеры помогают находить потенциальные ошибки, улучшать стиль кода и обеспечивать его соответствие лучшим практикам.
Линтеры проверяют, соответствует ли код стилевым рекомендациям и стандартам, таким как использование отступов, именование переменных и форматирование.
Линтеры могут обнаруживать потенциальные ошибки, такие как неиспользуемые переменные, неправильные типы данных, неинициализированные переменные и другие проблемы.
Линтеры помогают поддерживать код в соответствии с общепринятыми стандартами и лучшими практиками, что улучшает читаемость и поддержку кода.
Линтеры могут указывать на участки кода, которые можно улучшить, например, упростить сложные конструкции или оптимизировать производительность.
golint
: Проверяет стиль кода на соответствие рекомендациям Go.gofmt
: Автоматически форматирует код в соответствии со стандартами Go.staticcheck
: Более мощный инструмент, который находит ошибки, неэффективные конструкции и другие проблемы.ESLint
: Очень мощный и настраиваемый линтер для JavaScript и TypeScriptJSHint
: Инструмент для выявления ошибок и потенциальных проблем в JavaScript-коде.Pylint
: Линтер для Python, который проверяет стиль кода, ищет ошибки и предлагает улучшения.flake8
: Комбинированный инструмент, который включает в себя проверки на стиль, ошибки и другие проблемы.Checkstyle
: Инструмент для проверки стиля кода Java.PMD
: Находит потенциальные ошибки, неиспользуемый код и другие проблемы в коде Java.golint
go install golang.org/x/lint/golint@latest
example.go
package main
import "fmt"
func main() {
fmt.Println("Hello, world!")
}
golint
golint example.go
ESLint
npm install eslint --save-dev
ESLint
npx eslint --init
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.
👉 Новости 👉 Платформа
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
👉 Новости 👉 Платформа
Локация: Удалённо в РФ, РБ
Компания: Top Selection
ЗП: от 250 000 до 280 000 р.
Занятость: Полная
Компания Top Selection.
Наша компания занимается продуктовой разработкой и аутсорсингом it персонала для рынка России.
Оформление: ИП
Работа по мск времени
Требования:
Please open Telegram to view this post
VIEW IN TELEGRAM