Author: misamaliraza94
-
What are the differences between SQL and NoSQL databases?
If you’re working with data, then you’ll need to have a strong grasp of both Structured Query Language (SQL) and Non-Structured Query Language (NoSQL.) SQL is a query language that allows users to query and manipulate data within a relational database, which organizes data in columns and rows in a table. NoSQL, meanwhile, is a type…
-
What are the characteristics of these data structures?
This question asks you to describe the characteristics of different data structures, such as arrays, stacks, trees, and graphs. Hiring managers ask that you analyze data structure characteristics because they want to see that you have a firm grasp of the topic. As a result, when answering the question, identify all the unique characteristics within…
-
Describe the Agile methodology and its benefits.
Agile methodology is a project management approach that uses incremental, iterative steps paired with continuous feedback to complete a project within a relatively short time period. Many software development teams use Agile because it allows them to complete projects more quickly than traditional project management processes, which usually progress very linearly and take a significant amount of time…
-
What is the software development process?
The software development process, or software development life cycle, refers to the process used to create new software. Typically, the process includes six to seven steps: (1) brainstorming, (2) defining requirements, (3) prototyping, (4) coding, (5) testing and validation, (6) launching the product, and (7) ongoing product maintenance. While the precise formulation of the development process…
-
What programming languages are you familiar with?
This is a straightforward question that asks you to detail the programming languages that you know. Common programming languages include Python, C++, C#, Java, JavaScript, and HTML. You can prepare for this question in advance by looking at the position’s job requirements and identifying the programming languages they list. You may also find additional programming languages in the “preferred qualifications”…
-
2000 to 2015: Lightweight methodologies[edit]
With the expanding demand for software in many smaller organizations, the need for inexpensive software solutions led to the growth of simpler, faster methodologies that developed running software, from requirements to deployment, quicker & easier. The use of rapid-prototyping evolved to entire lightweight methodologies, such as Extreme Programming (XP), which attempted to simplify many areas of software engineering,…
-
1990 to 1999: Prominence of the Internet[edit]
The rise of the Internet led to very rapid growth in the demand for international information display/e-mail systems on the World Wide Web. Programmers were required to handle illustrations, maps, photographs, and other images, plus simple animation, at a rate never before seen, with few well-known methods to optimize image display/storage (such as the use of thumbnail…
-
Software projects[edit]
Seemingly, every new technology and practice from the 1970s through the 1990s was trumpeted as a silver bullet to solve the software crisis. Tools, discipline, formal methods, process, and professionalism were touted as silver bullets:[citation needed] In 1986, Fred Brooks published his No Silver Bullet article, arguing that no individual technology or practice would ever make a 10-fold improvement in productivity within…
-
1985 to 1989: “No Silver Bullet”[edit]
For decades, solving the software crisis was paramount to researchers and companies producing software tools. The cost of owning and maintaining software in the 1980s was twice as expensive as developing the software.[citation needed]
-
1965 to 1985: The software crisis[edit]
Software engineering was spurred by the so-called software crisis of the 1960s, 1970s, and 1980s, which identified many of the problems of software development. Many projects ran over budget and schedule. Some projects caused property damage. A few projects caused loss of life.[14] The software crisis was originally defined in terms of productivity, but evolved to emphasize quality. Some used…