Software Engineering: Question Set – 24
What are some ways to make websites faster? Name as many different techniques as you can.
- Implement your own content delivery network (CDN).
- Use adaptive images.
- Cache, cache, cache.
- Evaluate your plugins.
- Combine images into CSS sprites.
- Enable HTTP keep-alive response headers.
- Compress your content.
- Configure expires headers.
- Minify JavaScript and CSS.
- Review your hosting package.
What are web workers in HTML5, and why do they matter?
Concurrency and simultaneous operations are difficult to execute in JavaScript because the language only supports a single thread, so these concepts need to be simulated using functions such as setTimeout and setInterval. The web workers feature of HTML5 makes it possible to execute scripts in the background of a web application without preventing UI changes from taking place. In practice, web workers help simulate multi-threading in JavaScript, which makes it possible for multiple scripts to run at the same time.
How do you organize CSS files? What are the pros and cons of this approach?
- This question tests your organizational ability and your familiarity with web development front-end principles, especially relevant if the role in question is more front-end focused.
- Here’s an example of a file schema for CSS that would make sense:
- reset.css: reset and normalization styles; minimal color, border, or font-related declarations
- typography.css: font faces, weights, line heights, sizes, and styles for headings and body text
- layouts.css: styles that manage page layouts and segments, including grids
- forms.css: styles for form controls and labels
- lists.css: list-specific styles
- tables.css: table-specific styles
- carousel.css: styles required for carousel components
- accordion.css: styles for accordion components.”
What is the difference between blocking and non-blocking calls and its relationship with Node.js? Can you give an example of each?
- Blocking calls are those in which the execution of additional JavaScript has to wait until a non-Javascript operation (such as something with input or output) completes or finishes before continuing. In other words, the execution of JavaScript has to wait for the non-Javascript operation to complete. Consider this to be an example of synchronous behaviour. Calls that do not block can be processed in an asynchronous manner, giving them an inherent benefit in terms of performance.
- This is important because JavaScript is single-threaded, which means that it executes code in a specific order and each operation must finish executing before moving onto the next operation. Since JavaScript is single-threaded, this means that the order in which it executes code is important. JavaScript only has a single memory heap and call stack to work with. The engine that is used for JavaScript can assist in the browser’s processing of asynchronous code.
- The majority of the I/O methods available in Node.js can be executed synchronously or asynchronously. The fs.readFileSync method is an illustration of a forced synchronous read of a file, whereas the fs.readFile method is an illustration of an asynchronous read of a file.
Define Integration Testing?
- An orderly progression testing in which software pieces, hardware elements, or both are merged and tested, to evaluate their interactions, until the entire system has been integrated, is what the IEEE refers to as “integration testing.”
- It First test the system against its design and concentrate on how the individual modules communicate with one another; then add more modules one at a time.
- The following are some examples of different kinds of integration tests:
- big bang strategy – integrate everything all at once
- top-down approach – continue to break the system down into sections one at a time and test each component in turn
- the bottom-up technique entails evaluating the smallest components first, then gradually integrating the system while continuously testing its more complex subcomponents.
- hybrid approach – Completed with the assistance of stubs
Define Sysem Testing?
The process of testing an integrated hardware and software system to verify that the system satisfies its specified requirements is how the IEEE defines it. It is evaluated in comparison to the system requirements. It is possible to test manual procedures, restarting and recovering, user interfaces, levels of stress, and performance. When performing System Testing, real data is typically utilised, and the participation of end users is frequently required.
Define about Regression Testing?
Regression Testing, as defined by IEEE, is “selective retesting of a system or component to verify that modifications have not caused unintended effects.” It is the repeated running of tests with the objective of demonstrating that the behaviour of the software has not changed, except insofar as is necessary. It is possible on every level of the test.
Define Alpha / Beta testing?
Since we frequently hear that this programme is in the Alpha phase or the Beta phase, this is probably a term that you should be familiar with. In this instance, testing is carried out by a sample population that is typical of potential consumers. Note: Please take into consideration that both in-house (alpha testing) and external (beta testing).
How you can Design a Test Case?
This question is frequently asked by potential employers at Microsoft as well as at any other company that might be interested in employing you for testing-related work. A test case will consist of five different sections.
Define Sanity Test
Its purpose is to determine whether or not the build is prepared for feature or requirement-based testing.