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
Вопрос №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. При наследовании класс-потомок зависит от функционала класса-родителя. Ломается родитель – ломается и потомок.

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

1. Проектирование

Почему глобальные переменные это плохо? 1. Нарушают инкапсуляцию (к ним открыт доступ из любой части программы), добавляют лишние зависимости между компонентами. 2. Ухудшают масштабируемость 3. Способствуют возникновению трудноуловимых ошибок.

https://smartiqa.ru/blog/qa_automation_engineer_interview_2
👍2
Вопрос №151

Полиморфизм.

Поддержка нескольких реализаций на основе общего интерфейса. Т.е. позволяет перегружать одноименные методы родительского класса в классах-потомках. Пример: метод len() позволяет получать длину последовательности для разных классов (int, str, list и т д).
👍3
Вопрос №152

Сформируйте последовательность Фибоначчи.
👍2
- - - - - - - - -
Шпаргалка по GitLab
- - - - - - - - -

1. Global keywords / Глобальные ключевые слова
2. Jobs keywords / Ключевые слова уровня джобы

https://smartiqa.ru/blog/gitlab-cheatsheet
Вопрос №153

Определить, является ли строка палиндромом.
👍3🔥1
- - - - - - - - -
Собеседование на должность QA Automation Engineer. Web, SQL, Linux, Git, сети.
- - - - - - - - -

1. Клиент-серверная архитектура
Компоненты Web-приложения. 1. Серверная часть: Логика (Java, Python, C#, C++) + БД. 2. Клиентская часть: HTML, CSS, JavaScript. 3. Протокол: HTTP, HTTPS.

2. В чем разница между протоколами HTTP и HTTPS? HTTPS является расширением протокола HTTP с надстройкой шифрования (использует TLS протокол для защиты базового TCP-соединения). HTTP использует порт 80, HTTPS - 443.

https://smartiqa.ru/blog/qa_automation_engineer_interview_3
Вопрос №154

Сортировка. Пузырьком.

Проходимся по элементам массива и попарно сравниваем. Если левый больше правого - меняем местами.
👍2
- - - - - - - - -
Шпаргалка по языку программирования Go
- - - - - - - - -

1. Типы данных
2. Строки и руны / Strings and runes
3. Инструменты командной строки / Command line tools

https://smartiqa.ru/blog/go-cheatsheet
Вопрос №155

Сортировка. Вставка.

Делим массив на две части (левую и правую). Левую часть считаем отсортированной. Изначально первый элемент массива оставляем в левой части, все остальное относим к правой (не отсортированной). Начинаем перемещаться по не отсортированной части. Берем первый элемент, и попарно сравнивая с соседними, ищем ему место в отсортированной части. Например, имеем массив [ 4 6 2 1 ]. Выполняем сортировку:

1. Делим на 2 части: [ 4 | 6 2 1 ].
2. Берем элемент 6 и ставим его на подходящее место в отсортированной части: [ 4 6 | 2 1 ].
3. Ставим на свое место элемент 2: [ 2 4 6 | 1 ].
4. Ставим на свое место элемент 1: [ 1 2 4 6 ].