Programming & QA – Telegram
Programming & QA
335 subscribers
266 photos
177 links
Smartiqa - платформа о технологиях, программировании и тестировании ПО.

Сайт: https://smartiqa.ru
Канал YouTube: https://www.youtube.com/channel/UCk_7MNLSD0S2fxi0EQ-V6lQ
Vkontakte: https://vk.com/smartiqa
Vkontakte Python: https://vk.com/smartiqa_python
Download Telegram
Цикл статей о нейронных сетях

Заменят ли нас нейронные сети? – https://smartiqa.ru/blog/neural-network-intro

Все о градиентном спуске или как учится нейронная сеть – https://smartiqa.ru/blog/neural-network-gradient-descent

Откуда нейросеть знает, что на картинке котик? Все, что вы хотели знать о сверточных нейросетях – https://smartiqa.ru/blog/neural-network-convolution

Генеративно-состязательные модели, или как сделать из нейросети художника – https://smartiqa.ru/blog/neural-network-gan

Знакомимся с PyTorch-инструментом для создания нейронных сетей – https://smartiqa.ru/blog/neural-network-pytorch
Вопрос №145

Интерфейс.

Это абстрактный класс, у которого НИ ОДИН метод не реализован, все они публичные и нет переменных класса. Любой интерфейс - это абстрактный класс, но не наоборот.
- - - - - - - - -
Собеседование на должность QA Automation Engineer. Теория тестирования.
- - - - - - - - -

Мы поспрашивали коллег, почитали статьи, посмотрели видео на ютубе. И как итог, сформировали список вопросов (и кратких ответов), который поможет вам подготовиться и успешно пройти собеседование на роль QA Automation Engineer.

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

https://smartiqa.ru/blog/qa_automation_engineer_interview_1
- - - - - - - - -
Виртуализация. Виртуальные машины. Гипервизоры. Контейнеры.
- - - - - - - - -

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

https://smartiqa.ru/blog/virtualization
Вопрос №146

Абстракция.

1. Выделяет главные свойства предмета.
2. Отбрасывает второстепенные характеристики.
- - - - - - - - -
Docker. Основы работы с контейнерами.
- - - - - - - - -

Виртуализация позволяет абстрагироваться от аппаратных средств (реального «железа») для изоляции нескольких вычислительных процессов на одном компьютере.

https://smartiqa.ru/blog/docker-basics
👍1
Вопрос №147

Инкапсуляция.

Прячет внутреннюю реализацию объекта, все взаимодействия - через интерфейс.
Вопрос №148

Наследование.

Создаем класс на основе существующего. Потомок наследует поля и методы родителя + добавляет свои. Выражает отношение "Является" (например, Mercedes является машиной).
- - - - - - - - -
BDD тестирование. Язык Gherkin. Фреймворк Cucumber.
- - - - - - - - -

1. Что такое TDD?

Разработка через тестирование (англ. Test-driven development, TDD) — техника разработки программного обеспечения, которая основывается на повторении очень коротких циклов разработки: сначала пишется тест, покрывающий желаемое изменение, затем пишется код, который позволит пройти тест, и под конец проводится рефакторинг нового кода к соответствующим стандартам.

https://smartiqa.ru/blog/bdd_gherkin_cucumber
Вопрос №149

Композиция.

Класс, известный как составной, содержит объект другого класса, известный как компонент. Выражает отношение "Имеет" (Например, машина имеет двигатель).
- - - - - - - - -
Docker. Тома, контроль версий, Docker Hub, Docker Compose.
- - - - - - - - -

1. Доступ к файлам и ресурсам с помощью томов
Работа с изолированными контейнерами при помощи Docker является удобной и простой, но может иметь недостаток: все сгенерированные ими данные автоматически исчезают в момент удаления. Предположим, мы делали некоторые расчеты, которые хотелось бы сохранить. Однако, это по умолчанию невозможно. Естественно, имеются решения, помогающие решить указанную проблему (и не только):

Копирование (команда cp)

Тома (volumes)

Совместные каталоги (bind mounts)

https://smartiqa.ru/blog/docker-share-hub-compose
- - - - - - - - -
Selenium WebDriver для начинающих
- - - - - - - - -

1. UI тестирование
UI тестирование - имитация действий пользователя — клики, переходы по ссылкам, и другие действия подобного плана. Вопрос о целесообразности большого количества автоматизированных тестов, работающих через пользовательский интерфейс, является весьма спорным, потому что:
Автоматизированные UI тесты очень хрупкие. Как правило, даже косметические изменения в коде тестируемого приложения(например, смена имени checkbox) приводят к необходимости внесения соответствующих изменений к код тестов. В итоге, поддержка обширных UI тестов является задачей достаточно трудоемкой, а для приложений с активно развивающимся графическим интерфейсом - даже бессмысленной.

https://smartiqa.ru/blog/selenium-webdriver-basics
Вопрос №150

Чем отличаются Наследование и Композиция?

Общее: позволяют повторно использовать существующий код.

Отличия:

1. Наследование требует расширения наследуемого класса.

2. Во многих языках запрещено множественное Наследование. А значит нельзя переиспользовать функционал нескольких разных классов. В Композиции – можно.

3. При Композиции легче писать юнит тесты – делаем заглушки. При Наследовании это сделать сложнее – не получится заменить заглушкой родительский класс.

4. При наследовании класс-потомок зависит от функционала класса-родителя. Ломается родитель – ломается и потомок.

Итог: когда нужно использовать класс как таковой без каких-либо изменений, рекомендуется Композиция, а когда нужно изменить поведение метода в другом классе, рекомендуется Наследование.