Скачать PDF
1) Каковы важные категории программного обеспечения?
- Программное обеспечение
- Программное обеспечение
- Встроенное программное обеспечение
- Веб-приложения
- Программное обеспечение искусственного интеллекта
- Научное программное обеспечение.
2) В чем основное отличие компьютерной программы от компьютерного программного обеспечения?
Компьютерная программа - это часть программного кода. Он выполняет четко поставленную задачу. С другой стороны, программное обеспечение включает программный код, документацию и руководство пользователя.
3) Что такое реинжиниринг программного обеспечения?
Это процесс разработки программного обеспечения, который делается для улучшения ремонтопригодности программной системы.
4) Кратко опишите процесс разработки программного обеспечения:
Жизненный цикл разработки программного обеспечения состоит из следующих этапов:
- Анализ требований
- Технические характеристики
- Архитектура программного обеспечения
- Выполнение
- Тестирование
- Документация
- Обучение и поддержка
- Обслуживание
5) Какие модели SDLC доступны?
Модель водопада, спиральная модель, модель биг-бэга, итеративная модель и V-модель - вот некоторые из известных моделей SDLC.
6) Что такое верификация и валидация?
Проверка:
Верификация - это термин, который относится к набору действий, которые гарантируют, что программное обеспечение реализует определенную функцию.
Проверка:
Это относится к набору действий, которые обеспечивают создание программного обеспечения в соответствии с потребностями клиентов.
7) Что означает отладка в процессе разработки программного обеспечения?
Отладка - это процесс, в результате которого ошибка устраняется. Это очень важная часть успешного тестирования.
8) Как сделать так, чтобы ваш код был безопасным и быстрым?
В программном обеспечении безопасность разработки всегда на первом месте. Поэтому, если выполнение программы идет медленно, я попытаюсь определить причины ее временной сложности.
9) Назовите два инструмента, которые используются для отслеживания требований к программному обеспечению?
Есть много способов отслеживать требования.
Обычно используются два:
- Составьте документ со спецификациями требований, чтобы перечислить все требования.
- Создайте лист Excel со списком требований, типов, зависимостей, приоритетов и т. Д.
10) В чем основное отличие заглушки от макета?
Заглушка - это минимальная реализация интерфейса, которая обычно возвращает жестко закодированные данные, в то время как макет обычно проверяет результаты на соответствие ожиданиям. Эти ожидания установлены в тесте.
11) На каком языке вы любите писать алгоритмы программирования?
У каждого разработчика есть свои взгляды на выбор языка программирования. Хотя следует отдавать предпочтение языкам высокого уровня, потому что они динамичны. Как языки C и C ++.
12) Что такое компьютерное программное обеспечение?
Компьютерное программное обеспечение - это пакет, который включает программу, ее документацию и руководство пользователя по использованию программного обеспечения.
13) Какая модель SDLC, по вашему мнению, лучшая?
Такого ранжирования нет, поскольку модели SDLC принимаются в соответствии с потребностями процесса разработки. Программное обеспечение может отличаться от программного обеспечения.
14) Кто такой менеджер проекта программного обеспечения? Какова его роль?
Менеджер проекта программного обеспечения - это человек, ответственный за управление проектом разработки программного обеспечения.
Менеджер проекта занимается планированием проекта, отслеживает прогресс, общается. Он или она также управляет рисками и ресурсами, чтобы выполнить проект в рамках ограничений по времени, стоимости и качеству.
15) Что подразумевается под объемом программного обеспечения?
Объем программного обеспечения - это четко определенные границы. Он включает в себя все виды деятельности, которые выполняются для разработки и доставки программного продукта.
Объем программного обеспечения определяет все функции и артефакты, которые должны быть доставлены как часть программного обеспечения. Объем также определяет, что продукт будет делать? Что не входит в проект? Что такое оценка проекта?
Этот процесс полезен для оценки различных аспектов программного продукта. Эта оценка может быть сделана либо после консультации с экспертами, либо с использованием заранее определенных формул.
16) Как узнать размер программного продукта?
Размер программного продукта можно рассчитать двумя способами.
- Подсчет строк доставленного кода
- Подсчет доставленных функциональных баллов
17) Что такое функциональные точки?
Функциональные точки - это функции, предоставляемые программным продуктом. Это считается наиболее важным показателем размера программного обеспечения.
18) Какие методы оценки программных проектов доступны?
Наиболее широко используемые методы оценки:
- Техника разложения
- Эмпирическая техника
19) Что такое управление конфигурацией программного обеспечения?
Управление конфигурацией программного обеспечения - это процесс отслеживания и контроля изменений, происходящих в программном обеспечении.
Контроль изменений - это функция, которая гарантирует, что все изменения, внесенные в систему программного обеспечения, согласованы и созданы с использованием организационных правил и положений.
20) Как вы можете измерить выполнение проекта?
Мы можем измерить выполнение проекта, используя мониторинг активности, отчеты о состоянии и контрольные списки этапов.
21) Расскажите о некоторых инструментах управления проектами.
Есть много типов инструментов управления, используемых в соответствии с потребностями программного проекта. Некоторые из них - это диаграмма Pert, диаграмма Ганта, гистограмма ресурсов, отчеты о состоянии и т. Д.
22) Каковы требования к программному обеспечению?
Программные требования - это функциональное описание предлагаемой программной системы. Предполагается, что это описание целевой системы, ее функций и характеристик.
23) Что такое технико-экономическое обоснование?
Это мера, позволяющая выяснить, насколько практичным и полезным окажется разработка программного проекта для организации. Программный анализатор проводит исследование, чтобы узнать экономическую, техническую и операционную осуществимость проекта.
-
Экономический: включает стоимость обучения, стоимость дополнительных инструментов и общую оценку затрат и выгод проекта.
-
Технические: оценивает технический аспект. Возможно ли развитие этой системы? Оценка пригодности машины (ов) и ОС, на которой будет выполняться программное обеспечение, знание разработки программного обеспечения и инструментов, доступных для этого проекта.
-
Оперативный: здесь аналитику необходимо оценить, сможет ли организация плавно адаптироваться к изменениям, внесенным в соответствии со спросом на проект. Стоит ли решать проблему по ориентировочной стоимости?
После изучения всего этого создается окончательное технико-экономическое обоснование.
24) Что такое функциональные и нефункциональные требования?
Функциональные требования - это функциональные особенности, которые ожидаются пользователями от предлагаемого программного продукта.
Нефункциональные требования связаны с безопасностью, производительностью, внешним видом и ощущениями от пользовательского интерфейса.
25) Что такое метрика программного обеспечения?
Software Metrics предлагает меры для различных аспектов процесса разработки программного обеспечения, которые подразделяются на:
- Метрики требований: требования к длине, полнота
- Метрики продукта: количество строк кода, объектно-ориентированные метрики, метрики дизайна и тестирования.
26) Что такое модуляризация?
Модуляризация - это метод, который используется для разделения программной системы на различные дискретные модули. Предполагается, что задачи будут выполняться самостоятельно.
27) Что такое сплоченность?
Сплоченность - это мера, которая определяет внутреннюю надежность между элементами модуля.
28) Упоминает некоторые инструменты анализа и проектирования программного обеспечения?
Некоторые из наиболее важных инструментов анализа и проектирования программного обеспечения:
- Диаграммы потоков данных
- Структурированные диаграммы
- Структурированный английский
- Словарь с данными
- Иерархические схемы процесса ввода и вывода
- Диаграммы взаимоотношений сущностей и таблицы решений
29) Что подразумевается под диаграммой потока данных уровня 0?
Самый высокий уровень абстракции называется уровнем 0 DFD. Это также называется DFD уровня контекста. Он отображает всю информационную систему в виде одной диаграммы.
30) В чем основное различие между структурированным английским языком и псевдокодом?
Структурированный английский - это родной английский язык. Он используется для написания структуры программного модуля. Он использует ключевые слова языка программирования. С другой стороны, псевдокод больше похож на язык программирования без синтаксиса какого-либо конкретного языка.
31) Что такое структурированный дизайн?
Структурированный дизайн - это концептуализация проблемы. Его также называют дизайном решения, который основан на стратегии «разделяй и властвуй».
32) Что такое функциональное программирование?
Это метод программирования, в котором используются понятия математической функции. Он предоставляет средства вычислений в виде математических функций, которые также дают результаты независимо от состояния программы.
33) Что такое обеспечение качества по сравнению с контролем качества?
Гарантия качества проверяет, соблюдается ли надлежащий процесс при разработке программного обеспечения, в то время как Контроль качества занимается поддержанием качества программного продукта.
34) Что такое инструменты CASE?
CASE означает компьютерную разработку программного обеспечения. Они представляют собой набор автоматизированных прикладных программ, которые используются для поддержки, улучшения и усиления деятельности SDLC.
35) Какая модель процесса устраняет дефекты до того, как у программного обеспечения возникнут проблемы?
Метод разработки программного обеспечения в чистой комнате устраняет дефекты до того, как программное обеспечение столкнется с проблемами.
36) Решите эту проблему
В ящике одной темной комнаты двадцать разных носков двух типов. Какое минимальное количество носков нужно взять с собой, чтобы подобрать подходящую пару? "
Если вы возьмете три носка, они могут быть одного типа, даже если коэффициент равен 50%. Шансы никогда не совпадают. Следовательно, единственный способ «убедиться, что у вас есть подходящая пара» - это зафиксировать не менее 11 разрядов.
37) Как вы можете убедиться, что ваш написанный код может обрабатывать различные типы ошибок?
Я могу написать тесты, которые определяют ожидаемые ситуации с ошибками.
38) Объясните разницу между потоком и процессом?
Процесс - это экземпляр компьютерной программы. В одной программе может быть один или несколько потоков.
39) Скажите, чем отличается EXE от DLL?
EXE - это исполняемая программа, а DLL - это файл, который может загружаться и выполняться программами динамически. Это внешний репозиторий кода для программ. Поскольку обе программы - разные, используйте повторно одну и ту же DLL вместо того, чтобы иметь этот код в своем файле. Это также уменьшает необходимое пространство для хранения.
40) Что такое строгая и слабая типизация? Что предпочтительнее? Почему?
Строгая типизация проверяет типы переменных во время компиляции. С другой стороны, слабая типизация проверяет типы системы во время выполнения. Среди них всегда предпочтительнее строгая типизация, поскольку она сводит к минимуму ошибки.
41) Опишите разницу между интерфейсно-ориентированным, объектно-ориентированным и аспектно-ориентированным программированием.
- Программирование интерфейса основано на контракте.
- Объектно-ориентированный - это способ написания гранулированных объектов, которые имеют единственную цель.
- Аспектно-ориентированное программирование заключается в разделении кода таким образом, чтобы различные объекты выполняли основные задачи, а вспомогательные задачи выполнялись независимыми объектами.
42) Почему использование catch (исключение) всегда плохая идея?
Это плохая идея, потому что:
- Поскольку переменная не определена, исключение невозможно прочитать.
- Если вам известны типы исключений, полезно использовать исключение.
43) Какой тип данных передается через заголовки HTTP?
Скрипт и метаданные передаются через заголовки HTTP.
44) Как вы расставляете приоритеты?
Во-первых, вам нужно спроектировать систему, оценив структуру данных. Затем вам следует перейти к структуре кода, необходимой для его поддержки.
45) Назовите разницу между объектно-ориентированным и компонентным дизайном?
Объектно-ориентированный дизайн до некоторой степени может быть легко инкапсулирован в компонентный дизайн.
46) Когда вы используете полиморфизм?
Полиморфизм используется, когда есть необходимость переопределить функциональность при наследовании класса. Речь идет об общих классах и общих контрактах.
47) В чем разница между стеком и очередью?
- Очередь всегда в порядке очереди
- Стек всегда идет в последнюю очередь, первым уходит
48) Что необходимо для проверки качества кода?
По моему мнению, фреймворк модульного тестирования необходим для проверки качества кода.
49) Считаете ли вы, что обслуживание программного обеспечения стоит дорого?
По моему мнению, обслуживание программного обеспечения никогда не будет дорогостоящим, если мы будем использовать правильный процесс разработки.
50) Подскажите различия между тегами и ветками?
Теги предназначены для версий релизов, которые являются временными хранилищами для подобных вещей. Однако ветви удаляются, когда эти изменения объединяются в ствол.
51) Где доступна защищенная переменная уровня класса?
Защищенные переменные уровня класса доступны любому подклассу, производному от базового класса.
52) Можно ли выполнить несколько блоков catch для одного оператора try?
Да. Для одного оператора try могут быть выполнены несколько блоков catch.
53) Когда нужно объявлять класс абстрактным?
Мы должны объявить класс абстрактным в следующих ситуациях:
- Когда класс унаследован от абстрактного класса, но не все абстрактные методы были переопределены.
- В случае, если минимум один из методов в классе объявлен как абстрактный.
54) Разработайте алгоритм, который выводит ваше текущее местоположение и список банкоматов в этом районе. Получите ближайшие банкоматы K к вашему местоположению.
Создайте метод getDistance (a, b), который вычисляет расстояние между a и b.
Код:
import java.util.HashMap;import java.util.Map;import java.util.PriorityQueue;public class PrioRQueueExample {public static void main(String[] args){PriorityQueuepq = new PriorityQueue ((x,y)-> {Double z = y-x;return z.intValue(); });PrioRQueueExample pqe = new PrioRQueueExample();//Number of ATMs to return i.e. Kint num_ATMs = 3;double curr_loc = 0.00;Map nallATMLocs = new HashMap ();//Map of ATM names and their distance co-ordinatesnallATMLocs.put("atm1",45.0);nallATMLocs.put("atm2",78.0);nallATMLocs.put("atm3",54.0);nallATMLocs.put("atm4",64.0);nallATMLocs.put("atm5",35.0);nallATMLocs.put("atm6",42.0);nallATMLocs.put("atm7",57.0);nallATMLocs.put("atm7",1.00);nallATMLocs.forEach((atm,dist) ->{if(pq.size() < num_ATMs){pq.add(pqe.getLocation(curr_loc,dist));}else{if( pq.peek() > pqe.getLocation(curr_loc,dist)){pq.poll();pq.add(pqe.getLocation(curr_loc,dist));}}});pq.forEach(atmLoc -> System.out.println(atmLoc));}private double getLocation(double curr,double atm){return atm - curr;}}