, Welcome Screen
, Advertising Platform
, Panel System
, Car Persistence
, Collaborative Software
, Cloud Solution
, Spreadsheet App
, Web Protocol
, HTTP Post
, Candidates REST API
, Mock Configuration
, UML Diagrams
, Sort Comprehension
, Tree Traversal
, REST Communications
, Do Recursive
When developing software systems, implementing theory and design, and performing maintenance, software engineers use an array of skills to produce high quality software.
Microservices, also known as the microservice architecture, is an architectural style that structures an application as a collection of services that are loosely coupled, highly maintainable and testable. As such, it’s important for developers who work with web applications.
In object-oriented programming, inheritance is the mechanism of basing a class upon another class, retaining similar implementation. Inheritance allows programmers to reuse code and is a must know topic for every programmer who works with OOP languages.
Object-oriented programming is a paradigm based on encapsulating logic and data into objects, which may then contain fields and procedures. Many of the most widely used programming languages are based on OOP, making it a very important concept in modern programming.
Behavioral design patterns identify common communication patterns among objects and realize these patterns. By doing so, the objects become more flexible during communication.
A software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. Design patterns can speed up the development process by providing tested and proven development paradigms.
Creational design patterns deal with object creation mechanisms, in order to create objects best suited to the situation. They should be used when the basic form of object creation could result in design problems or add complexity to the design.
Software architecture patterns
Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems. Software architecture is about making fundamental structural choices that are costly to change once implemented.
Software architecture patterns
An architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture within a given context. They are important to know for building complex enterprise applications.
A good collaborative working environment (CWE) which supports people in their individual and cooperative work is important for having happy employees and efficient working processes.
Solution architecture is the practice of designing, describing, and managing the solution engineering in relation to specific business problems. Well defined solution architecture at the start can save a lot of time later and be the difference between a successful and a failed project.
Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user. Cloud computing relies on sharing of resources to achieve coherence and economies of scale.
Everyone who works with web should know essential topics of network security to prevent unauthorized access or misuse of network-accessible resources.
A protocol defines a set of rules which allows communication between entities. Communication between devices on the Internet is based on multiple protocols. It's an important theoretical topic for all engineers, particularly those involved in communication protocols.
Web development is the process of developing websites or web applications, which can be hosted on a public network (Internet) or a private one (intranet).
The Hypertext Transfer Protocol is the foundation of data communication on the World Wide Web. As such, it's important for all developers who work on internet applications and websites to understand this.
Inversion of control
Representational State Transfer (REST) is a style of software architecture that defines a set of constraints to be used for creating Web services. As it is one of the most commonly used architectures, knowledge of REST is important for back-end developers.
Inversion of control
Inversion of Control (IoC) is a pattern that is used to invert different kinds of controls in object-oriented design to achieve loose coupling. Developers should know how to use it in order to increase modularity of the program and make it extensible.
Unified Modeling Language is a flexible system used to diagram systems. It is useful across many disciplines. The ability to effectively use UML diagrams helps to ensure system designs are understandable to a wide range of user.
When designing and/or analyzing an algorithm or data structure, it is important to consider the performance and structure of an implementation. Algorithmic thinking is one of the key traits of a good programmer, especially one working on complex or performance-critical code.
A good programmer should be able to analyze and plan for the performance of an algorithm.
A good programmer should be familiar with when to use recursive functions, since they can provide elegant solutions for complex problems.
The ability to identify the correct algorithm for traversing the nodes of a tree graph allows for more efficient data retrieval.
Method overriding, in object-oriented programming, is a language feature that allows a subclass to provide a specific implementation of a method that is already provided by one of its parent classes.