Technical Round Materials-Software Engineering-Free Download
1) What are the important categories of software?
Artificial Intelligence software
2) What is the main difference between a computer program and computer
A computer program is a piece of programming code. It performs a
well-defined task. On the other hand, the software includes programming
code, documentation and user guide.
3) What is software re-engineering?
It is a process of software development which is done to improve the
maintainability of a software system.
4) Describe the software development process in brief:
The software development is a life cycle is composed of the following
Training and support
5) What are SDLC models available?
Waterfall Model, Spiral Model, Big-bag model, Iterative Model, and V- Model
are some of the famous SDLC models.
6) What is verification and validation?
Verification is a term that refers to the set of activities which ensure
that software implements a specific function.
It refers to the set of activities which ensure that software that has been
built according to the need of clients.
1. Can you name a number of non-functional (or quality) requirements?
2. What is your advice when a customer wants high performance, high
usability and high security?
3. Can you name a number of different techniques for specifying
requirements? What works best in which case?
4. What is requirements tracing? What is backward tracing vs. forward
5. Which tools do you like to use for keeping track of requirements?
6. How do you treat changing requirements? Are they good or bad? Why?
7. How do you search and find requirements? What are possible sources?
8. How do you prioritize requirements? Do you know different techniques?
9. Can you name the responsibilities of the user, the customer and the
developer in the requirements process?
10. What do you do with requirements that are incomplete or
1. What are metaphors used for in functional design? Can you name some
2. How can you reduce the user’s perception of waiting when some functions
take a lot of time?
3. Which controls would you use when a user must select multiple items from
a big list, in a minimal amount of space?
4. Can you name different measures to guarantee correctness of data entry?
5. Can you name different techniques for prototyping an application?
6. Can you name examples of how an application can anticipate user
7. Can you name different ways of designing access to a large and complex
list of features?
8. How would you design editing twenty fields for a list of 10 items? And
editing 3 fields for a list of 1000 items?
9. What is the problem of using different colors when highlighting pieces
of a text?
10. Can you name some limitations of a web environment vs. a Windows
1. What do low coupling and high cohesion mean? What does the principle of
2. How do you manage conflicts in a web application when different people
are editing the same data?
3. Do you know about design patterns? Which design patterns have you used,
and in what situations?
4. Do you know what a stateless business layer is? Where do long-running
transactions fit into that picture?
5. What kinds of diagrams have you used in designing parts of an
architecture, or a technical design?
6. Can you name the different tiers and responsibilities in an N-tier
7. Can you name different measures to guarantee correctness and robustness
of data in an architecture?
8. Can you name any differences between object-oriented design and
9. How would you model user authorization, user profiles and permissions in
10. How would you model the animal kingdom (with species and their
behavior) as a class system?
1. How do you make sure that your code can handle different kinds of error
2. Can you explain what Test-Driven Development is? Can you name some
principles of Extreme Programming?
3. What do you care about most when reviewing somebody else’s code?
4. When do you use an abstract class and when do you use an interface?
5. Apart from the IDE, which other favorite tools do you use that you think
are essential to you?
6. How do you make sure that your code is both safe and fast?
7. When do you use polymorphism and when do you use delegates?
8. When would you use a class with static members and when would you use a
9. Can you name examples of anticipating changing requirements in your
10. Can you describe the process you use for writing a piece of code, from
requirements to delivery?
1. How do you find out if a number is a power of 2? And how do you know if
it is an odd number?
2. How do you find the middle item in a linked list?
3. How would you change the format of all the phone numbers in 10,000
static html web pages?
4. Can you name an example of a recursive solution that you created?
5. Which is faster: finding an item in a hashtable or in a sorted list?
6. What is the last thing you learned about algorithms from a book,
magazine or web site?
7. How would you write a function to reverse a string? And can you do that
without a temporary string?
8. What type of language do you prefer for writing complex algorithms?
9. In an array with integers between 1 and 1,000,000 one value is in the
array twice. How do you determine which one?
10. Do you know about the Traveling Salesman Problem?
Source: Contents are provided by Technicalsymposium Google Group Members.
Disclaimer: All the above contents are provided by technicalsymposium.com Google Group members.
Further, this content is not intended to be used for commercial purpose. Technicalsymposium.com is not liable/responsible for any copyright issues.