Show
A software architect is a software expert who makes high-level design choices and dictates technical standards, including software coding standards, tools, and platforms. Software architecture refers to the high level structures of a software system, the discipline of creating such structures, and the documentation of these structures.
Q1: What does “program to interfaces, not implementations” mean?
Coding against interface means, the client code always holds an Interface object which is supplied by a factory. Any instance returned by the factory would be of type Interface which any factory candidate class must have implemented. This way the client program is not worried about implementation and the interface signature determines what all operations can be done. This approach can be used to change the behavior of a program at run-time. It also helps you to write far better programs from the maintenance point of view. 🔗Source: tutorialspoint.com Q2: What are the differences between continuous integration, continuous delivery, and continuous deployment?
🔗Source: atlassian.com Q3: What does SOLID stand for? What are its principles?
S.O.L.I.D is an acronym for the first five object-oriented design (OOD) principles by Robert C. Martin.
🔗Source: scotch.io Q4: What Is BASE Property Of A System?
BASE properties are the common properties of recently evolved NoSQL databases. According to CAP theorem, a BASE system does not guarantee consistency. This is a contrived acronym that is mapped to following property of a system in terms of the CAP theorem:
🔗Source: fromdev.com Q5: What Is CAP Theorem?
The CAP Theorem for distributed computing was published by Eric Brewer. This states that it is not possible for a distributed computer system to simultaneously provide all three of the following guarantees:
The CAP acronym corresponds to these 3 guarantees. This theorem has created the base for modern distributed computing approaches. Worlds most high volume traffic companies (e.g. Amazon, Google, Facebook) use this as basis for deciding their application architecture. Its important to understand that only two of these three conditions can be guaranteed to be met by a system. 🔗Source: fromdev.com Q6: Do you familiar with The Twelve-Factor App principles?
The Twelve-Factor App methodology is a methodology for building software as a service applications. These best practices are designed to enable applications to be built with portability and resilience when deployed to the web.
🔗Source: 12factor.net Q7: What are Heuristic Exceptions?
A Heuristic Exception refers to a transaction participant’s decision to unilaterally take some action without the consensus of the transaction manager, usually as a result of some kind of catastrophic failure between the participant and the transaction manager. In a distributed environment communications failures can happen. If communication between the transaction manager and a recoverable resource is not possible for an extended period of time, the recoverable resource may decide to unilaterally commit or rollback changes done in the context of a transaction. Such a decision is called a heuristic decision. It is one of the worst errors that may happen in a transaction system, as it can lead to parts of the transaction being committed while other parts are rolled back, thus violating the atomicity property of transaction and possibly leading to data integrity corruption. Because of the dangers of heuristic exceptions, a recoverable resource that makes a heuristic decision is required to maintain all information about the decision in stable storage until the transaction manager tells it to forget about the heuristic decision. The actual data about the heuristic decision that is saved in stable storage depends on the type of recoverable resource and is not standardized. The idea is that a system manager can look at the data, and possibly edit the resource to correct any data integrity problems. 🔗Source: jboss.org Q8: What Is Shared Nothing Architecture? How Does It Scale?
A shared nothing architecture (SN) is a distributed computing approach in which each node is independent and self-sufficient, and there is no single point of contention required across the system.
This approach is highly scalable since it avoid the existence of single bottleneck in the system. Shared nothing is recently become popular for web development due to its linear scalability. Google has been using it for long time. In theory, A shared nothing system can scale almost infinitely simply by adding nodes in the form of inexpensive machines. 🔗Source: fromdev.com Q9: What Does Eventually Consistent Mean?
Unlike relational database property of Strict consistency, eventual consistency property of a system ensures that any transaction will eventually (not immediately) bring the database from one valid state to another. This means there can be intermediate states that are not consistent between multiple nodes. Eventually consistent systems are useful at scenarios where absolute consistency is not critical. For example in case of Twitter status update, if some users of the system do not see the latest status from a particular user its may not be very devastating for system. Eventually consistent systems can not be used for use cases where absolute/strict consistency is required. For example a banking transactions system can not be using eventual consistency since it must consistently have the state of a transaction at any point of time. Your account balance should not show different amount if accessed from different ATM machines. 🔗Source: fromdev.com
How do I prepare for an architecture interview?How to Prepare for a Job Interview in Architecture. #1 – Set Your Goal. Take a moment and think about your professional experience, skills and ambitions for the future. ... . # 2– Research Your Potential Employer. ... . # 3– Don't Lie in Your Cover Letter CV. ... . # 4– Tailor and Study Your Portfolio. ... . # 5– Prepare Questions.. What are the questions asked in interview for architect?Example Architecture Interview Questions:. What are your expectations of yourself as an architect? ... . What challenges are you looking for in the architecture field? ... . What trends do you feel are important in Architecture/ Design? ... . Who in the "community" do you follow and admire for their architectural ability and why?. What questions are ask by solution architect in an interview?Common Solution Architect Interview Questions With Sample Answers. What is the most innovative solution you have proposed so far in your experience as a solution architect? ... . What is AWS? ... . What is Domain Driven Design? ... . How do you ensure security in design and solution? ... . List the tools you may use for designing a solution.. What are the key challenges facing software architecture?Main Software Architecture Issues and Challenges. A Company's Maturity. Many organizations try to undertake the IT architecture program when they are not mature enough to do so. ... . No Budget Allocation. Typically, IT architects have no allocated budgets for which they have to account for. ... . Lack of Personnel. ... . Communication.. |