Software Development & Operations Flashcards
Describe the vanilla structure of an Android project?
Within every Android app, we have five different kinds of files:
- AndroidManifest.xml - Defines properties of the application.
- Layout files - Defined via xml.
- Logic files - Defined in Java and Kotlin
- Resources - Within the res folder. Contains static variables and static files (like images) for your app.
- Gradle - Build files for translating code to an APK.
What does Gradle do?
Combines all of the development files and builds one single APK file for testing and distribution via Play Store.
What is the build.gradle file used for?
Adding dependencies from third party modules (such as YouTube player).
Acts in a similar way to the dependencies property of the package.json file of node.js
How do you create an array in Java?
parameter_type[] array_name = new parameter_type[number_of_elements];
e.g.
String[] students = new String[5];
OR you can declare array elements at time of declaration:
String[] employees = {“Cloud”, “Tifa”, “Aerith”};
Why is a string different from any other data type in Java?
They are not primitive data types and are instead objects.
This is how they are able to have methods attached to them, such as:
.toUpperCase()
.length()
.equals()
What is a Headless Content Management System?
A backend-only CMS that makes content accessible via RESTful API’s for display on any device.
What is feature parity?
Ensuring features maintain consistency / quality across multiple platforms.
E.g. Does a feature work the same on chrome and Firefox?
What is a stateful component?
It is a central point that stores information in the memory about the app/component’s state. It also has the ability to change it. It is essentially a “living” thing that has knowledge of past, current and potential future state changes.
This makes it more difficult to re-use or replace in the future.
What is a stateless component?
When something is “stateless”, it calculates its internal state but it never directly mutates it. This allows for complete referential transparency meaning that given the same inputs, it will always produce the same output.
This makes it easy to reuse or replace in the future.
In database systems, what is the defintion of an atomic swap?
An indivisible and irriducible series of database operations such that either all occur, or none occur. It cannot be broken up. Ideal for financial transactions or trading.
What is a GUID?
Globally Unique Identifier and Universally Unique Identifier
What is a Hook in programming?
A place in code that allows you to tap in to a module to either provide different behavior or to react when something happens.
In a generic sense, a “hook” is something that will let you, a programmer, view and/or interact with and/or change something that’s already going on in a system/program.
What is the difference between a data lake and a data warehouse?
A data lake is a vast pool of raw data, the purpose for which is not yet defined.
A data warehouse is a repository for structured, filtered data that has already been processed for a specific purpose.
What is event sourcing?
Architecting the application to publish events to a event log, and allowing services to subscribe to those events for the benefits of data consistency within microservices and centralised audit logging.
Example solutions include GCP Pub / Sub and Apache Kafka.
What is lint?
A static code analysis tool used to flag programming errors, bugs, stylistic errors, and suspicious constructs.