Question 11: Identify the false statement regarding the terms stateful and stateless.
A. A stateless application carries out each session as if it was the first time.
B. A stateful application saves data about each client session and uses it in the next client request.
C. In a stateless application, the server does store some interactional context about the client session.
D. In a stateful application, responses depend on data from a previous session.
Correct Answer: C. In a stateless application, the server does store some interactional context about the client session.
Explanation: Stateful means the computer or program keeps track of the state, and stateless means that no record or context is kept. Before getting bogged down in the intricacies of how to manage and control state or stateful and stateless uses, nail down a firm understanding of these terms by studying their definitions.
Question 12: Online transaction processing (OLTP), like bank deposits or withdrawals and retail purchases, traditionally represents stateless interactions.
A. True
B. False
Correct Answer: B. False
Explanation: OLTP interactions are naturally stateful because they must carry context through each transactional request. Learn more about how understanding OLTP is often a springboard toward understanding stateful- and statelessness. Also explore the dilemma that exists due to the fact that business typically runs on stateful functions, while the cloud works best with stateless components.
Question 13: Which of the following is an advantage of stateless apps and components?
A. Stateless components can easily be redeployed in the event of a failure.
B. Stateless components can easily scale out to accommodate load changes.
C. Stateless apps can easily be connected to other apps through APIs.
D. All of the above
Correct Answer: D. All of the above
Explanation: You can easily redeploy stateless components in the event of a failure and scale them to accommodate load changes. Also, stateless apps can easily connect to other apps through APIs. These three traits are the notable advantages of stateless apps.
Question 14: Stateless components are typically not ideal for mature enterprise applications that involve complex, long-running logic.
A. True
B. False
Correct Answer: A. True
Explanation: Stateless components are designed for low latency and high performance, with short-running logic. Information technology journalist Adrian Bridgwater said apps with complex, long-running logic are best served staying stateful. Stateless applications do not operate with long-running [data] persistence and often aren’t required to store data.
Question 15: Which architectural concept has driven interest in stateless apps and components?
A. Microservices
B. Containerization
C. Serverless
D. All of the above
Correct Answer: D. All of the above
Explanation: Microservices, containerization and serverless all drive interest in understanding statelessness, due to the fact that they all can incorporate functional programming. Functional programming uses very small segments of immutable code which is perfect for stateless execution that enables scalability and carries no risk of failing or losing data.
Question 16: Which of the following terms accurately describes both stateful and stateless components?
A. Functions
B. Lambdas
C. Microservices
D. All of the above
Correct Answer: C. Microservices
Explanation: Statelessness is possible of functional, lambda and microservice components, but statefulness is not — which has caused a bit of terminology confusion. The term microservice can clearly mean a stateful or stateless microservice, but the terms function and lambda only accurately describe a truly stateless microservice. Watch out for instances where the terms are inaccurately used interchangeably.
Question 17: Which statement falsely describes either a benefit or drawback of front-end and back-end state control approaches?
A. Front-end state control approaches don’t add any complexity or processing delay to the app’s design.
B. Back-end state control approaches can easily handle cases in which a microservice supports numerous transactions.
C. Front-end state control approaches can create context complications for the front-end or mobile application that generated the message(s) in the first place.
D. Back-end state control approaches can introduce significant processing delays while a component retrieves its state.
Correct Answer: B. Back-end state control approaches can easily handle cases in which a microservice supports numerous transactions.
Explanation: Both front-end and back-end state control approaches essentially turn an application’s state into a parameter for microservices in which to work. One problem that can arise from back-end state control is the complexity caused when the state control device must determine which back-end database record corresponds with which correct message.
Question 18: Which apps are built for a specific platform or device and cannot be created with just any programming language?
A. Native apps
B. Web-based apps
C. Hybrid apps
D. Cross-platform apps
Correct Answer: A. Native apps
Explanation: Native apps require developers to use the language that is compatible with the operating system of a platform or device. Developers might decide to create a native app despite needing to learn the language specific to the operating system because native apps can use all the capabilities of the device, such as the camera or GPS.
When developers use the programming language that matches the host platform, they can ensure better performance, but they must recreate the app for each platform they use. For example, developers should write apps native to Android in Kotlin and apps native to iOS could use Apple Swift or Objective-C. Developers may need to learn new languages to create native apps, so this option can be more time-consuming and costly to develop.
Question 19: Which web app language provides the best support for multimedia?
A. JavaScript
B. CSS
C. C++
D. HTML5
Correct Answer: D. HTML5
Explanation: Developers use HTML5, the latest version of the language, for its focus on the presentation of their web app. This iteration increases support for images, video and audio on mobile devices. Also, new code tags help developers place an element on the mobile web app page. HTML5 enables developers to create a single app that can be accessed on multiple devices.
Question 20: Which is the most widely used legacy mobile app programming language?
A. Python
B. Java
C. Objective-C
D. Kotlin
Correct Answer: B. Java
Explanation: For the past three years, Java has ranked consistently as the most used programming language, according to a study by Tiobe, a software quality company. Developers use Java for its versatility and cross-platform capabilities. Java only references data that is self-contained, protecting any Java program from crashing.
Although it is popular, some developers criticize Java for being a clunky language and for slowing performance when scaled. Some other languages used in app development include JavaScript, Python and C++.