Как стать автором
Обновить
0
0

Android developer

Отправить сообщение

Какие вопросы я задаю на собеседовании QA Junior+

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров52K

Привет Хабр! Меня зовут Иван, сегодня поговорим о вопросах на собеседованиях Джуну+ (от 6 месяцев работы) и узнаем как ответить на них не как ChatGPT. Я как инженер по ручному и автоматизированному тестированию провожу собеседования на роль Junior+ QA (с дальнейшим ростом в автоматизаторы). Делюсь своим списком вопросов и ответов, которые я ожидаю услышать.

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

База для Junior QA

1. Что такое тестирование?

Сравнение ожидаемого результата с фактическим результатом ПО. Тестирование это не поиск багов!

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

Подготовиться к собесу
Всего голосов 15: ↑13 и ↓2+14
Комментарии17

Пишем простенький DI для Android приложения

Время на прочтение9 мин
Количество просмотров5.4K

Сейчас практически любой проект имеет в своём составе как минимум одну библиотеку или решение для разруливания зависимостей, но далеко не каждый разработчик действительно понимает как устроены эти самые решения. Поэтому в этой статье я хотел бы прояснить некоторые базовые моменты, на которых построены такие известные библиотеки как Dagger, Hilt и Koin, а также показать на практическом примере как можно написать свое DI решение.

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии6

Как я разрушил свои стереотипы об автотестах, или Мой путь от Appium до Kaspresso

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.1K

Всем привет!

Меня зовут Сергей Дударев, я руководитель направления автоматизированных тестов в департаменте мобильной разработки «Лаборатории Касперского». В этой статье хочу рассказать, как я прошел путь от Appium до open-source-фреймворка Kaspresso, с чего начинал, какие делал для себя открытия, как разрушались мои стереотипы и какие по итогу были сделаны выводы.

Читать далее
Всего голосов 14: ↑14 и ↓0+17
Комментарии1

Стресс-тест заказа такси через приложение Yandex Go. Сравниваем интерфейсы пяти приложений

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров11K

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

Случалось ли вам, например, ставить точку старта на взлетное поле, а водитель при этом, впервые заехавший в Домодедово, пытался до нее доехать?

Сравнить
Всего голосов 8: ↑7 и ↓1+10
Комментарии10

Опять Mikrotik и снова Telegram…

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров4.6K

Здравствуйте Друзья!

Два года назад мною была написана статья, посвящённая разработке в RouterOS.

В рамках того проекта мы управляли устройствами Микротик через Телеграм-бота. Было получено много опыта и много кода, в виде библиотек на языке Mikrotik Script, для работы с API Телеги, функций обработчиков, и всевозможных форм.

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

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

Читать далее
Всего голосов 3: ↑3 и ↓0+6
Комментарии10

Я победил замедление YouTube

Время на прочтение4 мин
Количество просмотров428K

Привет, Хабр! Ухудшение работы YouTube стало поистине трагическим событием, которое прибило почти все загрузчики видео, но я нашел легальный способ улучшить ситуацию! Как починить оборудование Google, не привлекая внимание санитаров.

Читать далее
Всего голосов 163: ↑150 и ↓13+167
Комментарии595

ИТ с пеленок: игры, которые знакомят детей с программированием. Часть 2

Время на прочтение4 мин
Количество просмотров2.1K

Привет, Хабр! Меня зовут Дарья Фролова. Я редактор в МТС Диджитал, а еще — родитель, который старается подбрасывать детям полезный контент получается не всегда.

Пару недель назад я опубликовала подборку игр, которые помогают научить ребенка основам кодинга и логического мышления. Спасибо, что забрали в закладки и посоветовали еще игры. Так что возвращаюсь со второй частью — тут один вариант для шестилеток, остальные — для ребят постарше. Ну, поехали!

Читать далее
Всего голосов 9: ↑8 и ↓1+18
Комментарии1

ThreadPool – инъекция потоков

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.7K

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

С большой силой ThreadPool'а приходит большая ответственность! И поэтому наша ответственность – понимать устройство этого мощного иснтрумента, чтобы понимать его ограничения. А два главных способа понять: чтение кода и, конечно, эксперименты с многопоточностью...

Читать далее
Всего голосов 17: ↑17 и ↓0+22
Комментарии10

Тест батареек Gigacell Super Alkaline

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров5.8K
На российских маркетплейсах появились в продаже батарейки Gigacell. Интересно, что это не очередной российский бренд, а собственный бренд одноимённого китайского завода батареек.

Я купил эти батарейки и протестировал.

Читать дальше →
Всего голосов 39: ↑39 и ↓0+54
Комментарии8

Gradle + GitLab: эффективный и бесплатный билд-кэш

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров2.8K

Гайд по бюджетной настройке GitLab кэшей для Gradle в Android проектах без использования Gradle Enterprise и Remote Build Cache.

Читать далее
Всего голосов 11: ↑11 и ↓0+16
Комментарии4

Цифровая крепость: как защитить себя в мире киберугроз

Уровень сложностиСредний
Время на прочтение21 мин
Количество просмотров4.9K

В нашу эпоху, когда цифровые технологии пронизывают каждый аспект нашей жизни, вопрос кибербезопасности становится как никогда актуальным. Мы живем в мире, где информация стала валютой, а ее защита — необходимостью. Ох, как же быстро меняется ландшафт угроз! Будто вчера мы беспокоились о простых вирусах, а сегодня сталкиваемся с изощренными APT‑атаками и программами‑вымогателями.

Представьте себе: вы сидите в уютном кафе, потягивая латте и просматривая новости на смартфоне. Кажется, что может быть безопаснее? А между тем, в этот самый момент ваши данные могут быть под прицелом киберпреступников. Бац! — и ваша банковская информация уже путешествует по даркнету. Или, того хуже, ваша компания становится жертвой масштабной кибератаки, парализующей работу на недели.

Но не спешите паниковать! Хотя угрозы и кажутся вездесущими, у нас есть инструменты и знания, чтобы противостоять им. В этой статье мы глубоко нырнем в мир современной кибербезопасности. Мы разберем наиболее актуальные угрозы, с которыми сталкиваются как рядовые пользователи, так и крупные корпорации. А главное — вооружимся знаниями о самых эффективных методах защиты.

Готовы построить свою цифровую крепость? Тогда пристегните ремни — мы отправляемся в увлекательное путешествие по лабиринтам кибербезопасности!

Читать далее
Всего голосов 3: ↑3 и ↓0+7
Комментарии6

Уменьшаем boilerplate с помощью Swift Macros

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2.3K

Сегодня с вами Никита Коробейников, iOS Team Lead в Surf. Никита объяснит, что такое Swift Macros, сравнит кодогенерацию от Apple со сторонними решениями: Liquid, Generamba, Sourcery и расскажет, как создать собственный Swift Macros. 

Читать дальше
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Ранний взгляд на будущее тестирования с swift-testing

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.1K

Пару месяцев назад Стюарт Монтгомери, программист из команды XCTest в Apple, поделился новой библиотекой тестирования Swift с открытым исходным кодом на основе макросов.

Библиотека называется Swift-testing, и, как указано в ее документации, она предназначена для проверки концепции нового API тестирования для Swift, основанного на макросах и интегрированного в Swift так же, как и XCTest.

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

Читать далее
Всего голосов 8: ↑7 и ↓1+8
Комментарии0

Топ-5 распространенных практик написания хорошего Swift-кода

Время на прочтение10 мин
Количество просмотров2.2K

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

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

Читать далее
Всего голосов 7: ↑5 и ↓2+6
Комментарии0

Как я постепенно избавляюсь от контроля Google

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров61K

В течение последних нескольких лет я пытаюсь постепенно ограничивать пользование продуктами и сервисами Google или вообще избавиться от них. В некоторых категориях отказаться от продуктов Google было сложно, в некоторых других — почти невозможно. В этой статье я представлю список сервисов, альтернативы для которых я пытался найти, поговорю о простоте (или трудности) поиска удовлетворительной альтернативы и поделюсь своим опытом.

Мне кажется, прежде, чем приступать, нужно дать важное предисловие. Во-первых, эти заметки сделаны по личному опыту, это не подробный обзор альтернатив сервисам Google, сравнения альтернативных решений можете поискать где-нибудь ещё. Во-вторых, для использования некоторых из упомянутых в статье альтернатив требуется настройка своего сервера, что для многих людей станет ограничивающим требованием.
Читать дальше →
Всего голосов 68: ↑58 и ↓10+69
Комментарии201

Пишем АПИ автотесты на Python по шагам

Уровень сложностиСредний
Время на прочтение27 мин
Количество просмотров31K

Всем привет! В этой статье мы пошагово покроем тестами REST API на Python. Данная статья будет крайне полезна как начинающим, так и действующим тестировщикам и автоматизаторам, а также специалистам из смежных направлений.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии8

Конфигурация вместо кода при написании Telegram-бота

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров9K

Привет! Меня зовут Никита и я пишу от имени небольшой команды студентов, разработчиков проекта Cloffer — систему онлайн-заказа для кофеен. Мы решили начать наш путь с написания связки бэкенд + набор телеграм-ботов.

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

Читать далее
Всего голосов 11: ↑10 и ↓1+9
Комментарии28

Python Multiprocessing. Обмен данными между процессами. Передача объектов пользовательских классов

Уровень сложностиСложный
Время на прочтение15 мин
Количество просмотров25K

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

Модуль Multiprocessing позволяет использовать так называемый истинный параллелизм, то есть создавать процессы, которые выполняются полностью независимо друг от друга.

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

О том, как с этим обходиться, я и расскажу в этой статье.

Читать далее
Всего голосов 20: ↑17 и ↓3+19
Комментарии19

Продюсеры и консьюмеры с Apache Kafka в Python

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров16K

Салют, Хабр!

Apache Kafka - это распределенная платформа потоковой обработки, предназначенная для построения систем обработки данных. Kafka позволяет публиковать, подписываться, хранить и обрабатывать потоки данных в реальном времени. Все это дает нам очень высокую пропускную способность и масштабируемость.

Основные фигуры в кафке это продюсеры и консюмеры. Продюсеры — это компоненты, которые производят и отправляют данные в Kafka. Они могут быть чем угодно: от простых скриптов до сложных систем. Консюмеры — это те, кто подписывается на данные и обрабатывает их. Они могут быть реализованы в различных формах, например, для анализа данных или мониторинга.

В статье мы и поговорим именно про продюсерах и консюмерах в экосистеме Kafka в коннекте с Python.

Читать далее
Всего голосов 11: ↑9 и ↓2+9
Комментарии2

Расширяем тестовый фреймворк с помощью Pytest-плагинов. Часть 1: теория

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров6.6K

Всем привет! Меня зовут Александр Волков, я занимаюсь интеграционным и компонентным тестированием в YADRO. В числе продуктов компании есть системы хранения данных и, говоря о тестировании, я буду иметь в виду в первую очередь работу с СХД. Однако описанные подходы пригодятся всем, кто ищет инструменты для создания тестового фреймворка и расширения его возможностей под свои задачи. 

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

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии5
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность

Специализация

Mobile Application Developer
Middle
Git
Java
Junit
SQL
Allure
Kotlin
Android development
Clean Architecture
Coroutines
MVVM