За свои 15+ лет в разработке я прошёл наверное 100+ собеседований — и почти четверть из них в этом году, в течение последнего месяца:) Что‑то необычное происходит — подумал я — и решил поделиться наблюдениями — может вы тоже что‑то заметили? А может это просто кому‑то чуть поможет в поиске работы или наоборот в рекрутинге.
Рубрика «backend» - 2
Особенности трудоустройства в 2024 (golang)
2024-09-30 в 6:15, admin, рубрики: backend, golang, рекрутинг, трудоустройство, трудоустройство в itПривет, сегодня я попытаюсь объяснить все то, что я хотел бы знать в начале пути разработки на Actix Web.
Немного лирики для начала.
Rust - мультипарадигменный компилируемый язык программирования общего назначения, разрабатываемый Mozilla. Очень рекомендую выучить базовые концепции, типы, синтаксис языка, немного узнать про cargo.
Actix Web - высокопроизводительный web framework для Rust. Собственно о нем и речь в статье.
Управление временем контейнера с помощью docker-compose и faketime
2024-08-20 в 19:37, admin, рубрики: backend, docker, docker-compose, faketime, контейнеры, микросервисы, системное время, тестированиеЗачем нам управлять временем?
В начале немного о себе, мое основное занятие — обеспечение качества на вверенных проектах, я Senior QA в компании Umbrella IT. Периодически при тестировании микросервисов приходится сталкиваться с необходимостью изменения времени для проверки работы того или иного функционала. Это может быть функционал, который срабатывает по «тику» cron, или связанный с применением системного времени как одного из условий обработки/хранения/передачи данных тестируемым микросервисом.
Учишь русский, учишь Java, едешь в Россию работать, или Как я «зашёл в ИТ» 10 лет назад
2024-06-10 в 8:05, admin, рубрики: backend, java, карьера ИТ-специалиста, карьера программиста, смена профессииПисатель Дмитрий Глуховский* как-то предложил водителю автобуса из Саратова свой вариант карьерного плана в ИТ. Моя карьера сложилась почти по этому плану. Только я учил Java.
Бэкэнд для начинающих или типовые ошибки бэкэндера
2024-05-14 в 11:39, admin, рубрики: backend, конкурентность, согласованность, транзакцииВсем привет! Я Олег, fullstack‑разработчик в компании Тензор, тимлид небольшой команды.
Одна из моих обязанностей в роли тимлида — code review. За годы работы многое повидал и выделил для себя типовые ошибки, с которыми сталкиваются начинающие backend‑разработчики. Сегодня расскажу о некоторых из них.
О чем пойдет речь
Разберем типовые ошибки, которые допускаются при работе с SQL‑базами данных в рамках сервиса с высокой нагрузкой и конкурентными запросами.
В качестве БД возьмем PostgreSQL, в примерах кода будет использоваться как SQL-запросы, так и «некий ORM чем‑то напоминающий Sequelize» (все совпадения случайны).Читать полностью »
Dependency Injection контейнеры .NET, допускающие полиморфное поведение
2024-01-02 в 9:00, admin, рубрики: backend, class, csharp, di, dotnet, implementation, inheritance, interface, polymorphism, ruvds_статьи
Иногда случается так, что при разработке приложения на платформе .NET с внедрением зависимостей и сервисами от контейнера требуется поддержка полиморфного поведения.
Когда, например, у интерфейса есть несколько реализаций, и их нужно грамотно расфасовать по правильным конструкторам так, чтобы всё из коробки работало.
Однако стандартный DI контейнер платформы долгое время не давал этой возможности.
В рамках этой статьи я решил напомнить альтернативы для решения этой задачи на тот случай, если вы ещё не успели переехать на .NET 8 или работаете в каком-нибудь Иннотехе, где в наличии только зеркало NuGet-пакетов, выпущенных до начала 2022 года.Читать полностью »
Неравный бой — Tinkoff эквайринг. Рекуррентные платежи
2023-07-02 в 3:45, admin, рубрики: acquireing, api, backend, Node, node.js, tinkoff, TypeScript, платежная система, платежные системы, платежный шлюз, тинькофф, тинькофф банкДанная статья будет разбита на несколько частей.
Часть 1 - Вступление
Часть 2 - Делаем клиент на TypeScript для Tinkoff эквайринг
Часть 3 - Работа с картами МИР и иными картами поддерживающими 3DS V2
Предистория
В рамках разработки нашего SaaS решения для автоматизации процессов кар-шерингов и авто-ренталов CarSense, перед нами стояла задача реализации системы рекуррентных платежей (Добавление карт пользователями для дальнейшего безакцептного списания).
Атомики в Go: особенности внутренней реализации
2023-06-30 в 15:10, admin, рубрики: assembly, atomic, atomics, backend, concurrency, Go, golang, MutexАтомики в Go - это один из методов синхронизации горутин. Они находятся в пакете стандартной библиотеки sync/atomic. Некоторые статьи сравнивают atomics с mutex, так как это примитивы синхронизации низкого уровня. Они предоставляют бенчмарки и сравнения по скорости, например Go: How to Reduce Lock Contention with the Atomic Package.
Как мы автоматизировали тестирование OpenStack с помощью Rally и Tempest
2023-04-26 в 12:42, admin, рубрики: backend, ci/cd, gitlab, octavia, openstack, rally, selectel, tempest, Блог компании Selectel, разработка, Разработка веб-сайтов, тестирование, Тестирование IT-систем, Тестирование веб-сервисов
Всем привет, меня зовут Валентина! Уже около пяти лет я работаю в тестировании, из них более трех занимаюсь прожаркой OpenStack с помощью Tempest и Rally. Заметила, что в сети не так много информации об этих фреймворках. Пора это исправить.
В этой статье я расскажу, как мы в Selectel тестировали Octavia с помощью Tempest и Rally, с какими трудностями столкнулись, как преодолевали их и что в итоге получилось. Если интересно, добро пожаловать под кат!
Читать полностью »
Оптимизация бэкенда приложения с примерами на Symfony. Часть 1
2023-04-16 в 9:56, admin, рубрики: backend, N+1, php, sql, symfony, индексы, Клиентская оптимизация, оптимизация, Разработка веб-сайтовВсех приветствую! Я планирую создать цикл статей, демонстрирующий распространенные ошибки, влияющие на производительность приложения со стороны бэкенда, а также методы их поиска и устранения. Для этого, я написал приложение, в котором специально допустил различные ошибки, чтобы по порядку найти и исправить их.
В текущей статье, рассмотрим темы - n+1, пагинация и индексы. Приятного чтения!