Pull to refresh
4
0
Send message

Автоматизация тестирования специфических сценариев

Level of difficultyEasy
Reading time11 min
Views2.5K

В этой заметке я поделюсь опытом автоматизации тестирования специфичных сквозных (E2E) сценариев, с которыми мне пришлось столкнуться.

Для успешного решения этой задачи, я нарушил один из важных принципов тестирования - делай тесты независимыми. Далее я покажу, почему я так поступил, и что из этого вышло. Быть может, этот опыт будет полезен моим коллегам.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments0

Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования

Reading time12 min
Views205K

Дисклеймер:


Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнего времени я не могла пройти дальше первого технического скрининга в IT-гиганты из FAANG (Facebook, Amazon, Apple, Netflix, Google и подобные), хотя предпринимала несколько попыток. 

Но теперь всё изменилось, я получила несколько офферов и хочу поделиться опытом, как можно к этому прийти. Речь пойдёт о позиции Software Engineer в европейских офисах перечисленных компаний.
Читать дальше →
Total votes 155: ↑150 and ↓5+191
Comments342

Переезд инженера в Германию: «Голубая карта», налоги, дети

Reading time15 min
Views102K


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


Топ-5 стран по количеству переехавших российских инженеров в тысячах, Amazing Hiring, 2020
*около 30% инженеров не открывают своих данных для открытого поиска.


Стоит ли Германия релокейта, и что ждет тех, кто переезжает не один? В нашем сегодняшнем материале — плюсы и минусы переезда в страну пива и брецелей.
Читать дальше →
Total votes 44: ↑34 and ↓10+38
Comments229

Кто нанимает в русскоязычные команды вне РФ и Беларуси? (апрель 2022)

Reading time3 min
Views54K

После 24-го февраля появились десятки каналов в Телеграме, постов на VC, Хабре, страничек в Notion, которые собирают компании с удаленкой и релокацией. Но я не нашел ресурсов или каналов, которые концентрируются на одном аспекте: русском языке общения в командах.

Гораздо сложнее уехать тем, у кого уровень английского - средний и ниже. Но даже специалистам с хорошим английским бывает сложно влиться в культуру западных компаний. В конце концов, кому-то просто хочется говорить на работе по-русски.

Для этих людей я собрал в этом посте какие-то компании с русскоязычными командами разработки, которые релоцируют из РФ и Беларуси сейчас (то есть это не компании в Прибалтике, Польше и Чехии), либо позволяют удаленку из-за границ РФ с зарплатой в долларах или евро.

Пост не претендует на полноту или оригинальность. Хочется сделать русско-эмигрантский аналог постов Who is hiring? на Hacker News, где участники сообщества рекламируют вакансии в своих фирмах в комментариях.

На мой взгляд, это важный аспект, потому для ИТ-специалиста с хорошим английским, у которого главная цель - уехать из РФ или Беларуси, найти работу - вообще не проблема даже без всяких чатов и каналов. Английский - единственный профессиональных язык общения в огромном количестве компаний в Англии, Германии, Швеции, ОАЭ, Юго-Восточной Азии, куда довольно легко попасть (потому что сейчас везде острая нехватка специалистов), а релоцируют быстро и без особых проблем.

Читать далее
Total votes 26: ↑21 and ↓5+23
Comments18

90+ бесплатных ресурсов для самостоятельного обучения онлайн

Reading time6 min
Views679K

Хочу поделиться списком полезных образовательных ресурсов, среди которых каждый найдет для себя что-то интересное и новое. Главное рассмотрим в начале — IT и иностранные языки. А следом будет подборка сервисов и ютуб-каналов, связанных с наукой, образованием в целом, бизнесом и творчеством.


image
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments20

Как сделать alter table в высоконагруженной таблице

Reading time3 min
Views16K

Ещё лет 5 назад на собеседованиях с backend-разработчиками был популярен вопрос: как переименовать колонку в высоконагруженной таблице (возможны вариации: как сделать любой другой alter table)?

Вопрос всё ещё часто звучит на собесах. И актуальность его выросла, так как за последние 5 лет стало намного больше масштабных проектов с высокой нагрузкой.

Читать далее
Total votes 20: ↑18 and ↓2+23
Comments29

Продолжаем ковырять Тинькофф API. Рассчитываем эффективность инвестиций

Reading time12 min
Views22K

Продолжение публикации: "Что недоговаривают Тинькофф Инвестиции. Вытаскиваем все данные по портфелю через API в большую таблицу Excel".

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

Пост длинный, но много картинок
Total votes 24: ↑24 and ↓0+24
Comments33

У нас длинные руки: 7 зарубежных площадок, на которых можно найти удалённую работу

Reading time3 min
Views133K
Развитие телекоммуникационных технологий — это win-win для работодателей и работников: компании могут находить таланты по всему миру, а люди могут работать откуда угодно, лишь бы был Wi-Fi. И популярность удалённой работы лишь растёт. К примеру, согласно отчёту Gallup, в 2015 году 37% респондентов ответили, что работают удалённо частично или весь рабочий день. Это было на 7 процентных пунктов больше, чем в 2008. И нет причин считать, что эта тенденция сегодня изменилась.

Чем больше людей обращаются к подработке, фрилансу или удалённой работе на полную ставку, тем чаще возникает вопрос: где именно мне найти работу, которая позволит отказаться от поездок в офис? Предлагаем вашему вниманию семь зарубежных площадок, на которых можно найти удалённую работу.
Читать дальше →
Total votes 50: ↑49 and ↓1+48
Comments35

Как выучить иностранный язык: алгоритм

Reading time13 min
Views159K

Если вы хоть немного пересекались с Machine Learning, то понимаете, что человеческий мозг — это, по сути, большая нейросеть. А раз так, то и работу с ним можно строить по известным в ML алгоритмам. Так я нашел универсальный способ выучить любой иностранный язык до нормального уровня в разумные сроки. И на себе проверил его эффективность.

Читать далее
Total votes 56: ↑50 and ↓6+62
Comments123

Приёмы ускорения кода на JS и других языках: подборка от разработчика поиска Яндекса

Reading time17 min
Views67K
Привет! Меня зовут Виктор Хомяков, в Яндексе я работаю над скоростью страниц поиска. Однажды мне в голову пришла идея обобщить свой опыт и систематизировать приёмы ускорения работы кода на JavaScript. То, что получилось в итоге, собрано в этом материале.

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


Читать дальше →
Total votes 80: ↑80 and ↓0+80
Comments51

Микросервисы vs. Монолит

Reading time20 min
Views66K
В начале ноября на ютуб-канале Яндекс.Практикума прошли дебаты «Микросервисы, Монолит и Зомби». Ведущие дебатов — наставник курса «Мидл Python-разработчик» Руслан Юлдашев и техлид курса Савва Демиденко — разобрали архитектуры двух систем, прошлись по реальным задачам и ошибкам из своей рабочей практики и по очереди защищали свои позиции.

Обсуждение растянулось на 100 минут, поэтому мы публикуем сокращённую текстовую расшифровку.



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

Вы узнаете, как врачи регионов России не получали зарплату из-за микросервисов и сколько монолитов можно запустить, пока согласовывается интерфейс между сервисами.
Читать дальше →
Total votes 7: ↑4 and ↓3+4
Comments29

Делаем сервер из Android-телефона

Reading time8 min
Views120K

Некоторое время назад мне пришла в голову интересная идея — превратить свои старые телефоны (их скопилось немало за десять лет) в серверы, в качестве альтернативы покупке Raspberry Pi.


image


На то было несколько причин: во-первых, у телефонов есть батарея, что для сервера практически бесплатный мини-UPS, во-вторых, внутренняя память смартфона (UFS) работает быстрее и надёжнее, чем SD-карта. В-третьих, у телефонов имеется экран, по которому можно отслеживать состояние сервера.


Ну и в-четвёртых, мне просто было жаль их выбрасывать. Консьюмеризм в наше время предписывает каждый год-два покупать новые смартфоны, производители блокируют возможности железа, которые им невыгодны, прекращают поддержку старых моделей, оставляя людей беспомощными. Миллионы смартфонов отправляются на свалку истории каждый год, хотя каждый из них это мощный компьютер.


TL;DR: в этом посте будут разобраны вопросы установки PostmarketOS на смартфон,
поднятия на нём в качестве примера Docker и веб-приложения в нём.

За длинной версией под кат
Total votes 99: ↑98 and ↓1+128
Comments97

Обзор платформ по проведению онлайн-чемпионатов

Reading time12 min
Views9.4K

IT-соревнования могут оказаться полезными и для сотрудников, и для соискателей, и для компаний. Они помогают привлечь квалифицированных специалистов, протестировать компетенцию кандидатов, получить неожиданные технические решения, а если всё пойдет хорошо — то ещё и пропиариться на пол-Рунета.

В офлайн-хакатонах, к сожалению, сейчас не поучаствуешь. А вот онлайн на этом фоне стабильно расширяется. Соревнования для подбора талантов и поиска решений регулярно проводят такие гиганты как Google, Huawei, «Яндекс», Сбербанк и Mail.ru. На Хабре и других ресурсах нередко появляются истории о том, как кто-то подошел с креативом, постарался и заработал $20-$50 тысяч. Мы в Rubrain за такими тоже следим, некоторых пытаемся «выцепить» себе. А иногда для нестандартных задач создаем контесты на HackerRank.

Успех и широкая известность чемпионата (а также сумма финансовых наград) в основном зависят от платформы, на которой он проводится. Если вы хотите устроить хорошее онлайн-соревнование или поучаствовать в нём, чтобы побороться за приз, есть 11 вариантов:

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments0

Реактивное программирование со Spring

Reading time1 min
Views33K

Эта серия заметок служит введением в разработку реактивных веб-приложений с использованием Spring Boot, Project Reactor, WebFlux и R2DBC. Это руководство по реактивному миру для новичков, но предполагается, что читатель уже знаком с Java и Spring Boot.

В первой части представлен обзор различных концепций реактивного программирования и их истории. Вторая часть представляет собой введение в Project Reactor с большим количеством коротких примеров кода. В третьей части рассматривается WebFlux - реактивный веб-фреймворк Spring. И, наконец, четвертая часть посвящена R2DBC - Reactive Relational Database Connectivity.

Читать далее
Total votes 3: ↑2 and ↓1+2
Comments0

Как проходят архитектурные секции собеседования в Яндексе: практика дизайна распределённых систем

Reading time25 min
Views132K
Привет, меня зовут Костя Кардаманов, я работаю в отделе технологий разработки Яндекса. Обычно такой же фразой я приветствую и кандидатов на собеседовании. А сегодня я хотел бы рассказать вам, как и зачем мы проводим интервью по дизайну систем с бэкенд-разработчиками. Сразу скажу: для фронтендеров, мобильных разработчиков и ML-инженеров подобный тип собеседований применим слабо, так что эти специальности мы здесь обсуждать не будем.

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

Что такое дизайн информационных систем


Основная цель любой IT-компании — производить сервисы, которые решают задачи пользователей. Мы должны уметь собирать элементы системы в единый механизм, который будет эффективно выполнять поставленную цель, и если первый тип собеседований нацелен в первую очередь на проверку необходимого минимума, то интервью про дизайн систем проверяет достаточность навыков кандидата в достижении конечной цели. Далекому от IT пользователю принципы и устройство систем могут казаться бесконечно сложными, но мы, их разработчики, должны иметь (не обязательно детальное) представление о принципах функционирования и роли каждого компонента.

Опытный читатель может сказать — в мире полно платных и бесплатных решений, из которых я могу собрать систему как из деталей конструктора, зачем мне понимать устройство этих деталей?
Читать дальше →
Total votes 67: ↑65 and ↓2+90
Comments37

Retrofit: удобные разработка и тестирование API

Reading time10 min
Views10K
Если разработчик веб-сервиса хочет дать максимум удобств и пользы клиентам, ему нужно создать общедоступный API для программной работы с этим сервисом. В экосистеме Java есть один подход к разработке API, весьма удобный для программистов. Он заключается в размещении DTO и интерфейсов конечной точки в .jar-файле API и в создании, с использованием фреймворка Retrofit, типобезопасных клиентов для интеграционного тестирования. В этом материале приведён подробный разбор проекта, созданного с применением такого подхода к работе.



Если вы занимались крупными Java-проектами, то вы, наверное, помните старый добрый WSDL (Web Services Description Language, язык описания веб-сервисов), за которым стоят IBM и Microsoft. WSDL — это язык описания веб-сервисов, основанный на XML. А, может, вы всё ещё пользуетесь этим языком? WSDL и его брат-близнец — язык XML Schema, относятся к тем стандартам W3C, которые являются излюбленным объектом ненависти бывалых программистов. Файлы спецификаций WSDL не особенно легко читать людям, а об удобстве их ручного составления лучше и не говорить. Но, к счастью, работать с подобными файлами вручную и не нужно. Они могут быть сгенерированы конечной точкой сервера и переданы прямо в кодогенератор для создания объектов переноса данных (DTO, Data Transfer Object) и стабов сервиса.
Читать дальше →
Total votes 27: ↑25 and ↓2+30
Comments2

10 топовых плагинов для IntelliJ IDEA, которые ты не должен пропустить

Reading time4 min
Views26K

Хотя IntelliJ IDEA является полноценной IDE (Интегрированная среда разработки), вы наверняка захотите ее персонализировать. В JetBrains Marketplace есть множество плагинов с полезными функциями, которые могут удовлетворить ваши личные или деловые потребности.

Библиотека огромна, и в ней легко заблудиться. В этой статье мы поделимся недавно появившимися и всеми любимыми плагинами. Нам также интересно узнать, какие плагины любите вы, поэтому, пожалуйста, расскажите о них в комментариях.

Напоминаем, что все плагины можно установить через Настройки/Параметры | Плагины или на вкладке Плагины на экране приветствия.

Погнали!
Total votes 21: ↑16 and ↓5+13
Comments5

Wireshark для всех. Лайфхаки на каждый день

Reading time7 min
Views102K

Пакет с сертификатами от Хабра

Wireshark — очень известная программа для захвата и анализа сетевого трафика, незаменимый инструмент хакера, сетевого инженера, программиста, специалиста по безопасности. Да вообще любого любознательного человека, который хочет детально изучить трафик со своего или чужого мобильного телефона, фитнес-браслета, телевизора.
Читать дальше →
Total votes 44: ↑42 and ↓2+52
Comments16

AWS Lambda in Action на Java 11. Заезжаем с Serverless в «Production»

Reading time20 min
Views13K
Статья – гайд о том, как быстро и без боли начать использовать AWS Lambda на простом примере. Подойдет, как разработчику, не работавшему с Lambda вовсе, так и познавшему Cloud, чтобы оценить еще одно видение на разработку Serverless приложений.

image
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments7
1
23 ...

Information

Rating
Does not participate
Registered
Activity