, Non Zero
, Document Store
, Crop Ratio
, Babushka Doll
, Chain Link
, Stack to Vector
, Out of Range
, Weighted Average
, Date Transform
, Read Write Execute
, Internal Nodes
, Window Manager
, Moving Total
, Max Sum
, Unique Name
, Paper Strip
, Unique Numbers
The C++ language provides imperative, object-oriented and generic programming features, while also providing facilities for low-level memory manipulation. Having a basic familiarity with the programming language used on the job is a prerequisite for quickly getting up to speed.
Everyone makes mistakes. A good programmer should be able to find and fix a bug in their or someone else's code.
Choosing the right data structure to solve a problem can have huge implications on the performance of an application. Knowing when to use a specific data structure is one of the most important skills for a programmer.
A programmer should use a language as a tool, always taking advantage of language-specific data types and built-in functions.
Memory management allows programs to request memory dynamically from the operating system, and free it for reuse when no longer needed. Many modern programming languages automate this process; however, it should still be an important consideration when implementing an application.
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.
The string data structure is used to represent text. It is one of the most commonly used data structures. Therefore, every programmer should be skilled at string manipulation.
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.
Iteration is the act of repeating a process, or cycling through a collection. Iteration is one of the fundamental flow control tools available to developers.
The testing process: Using std::vector to solve problems requiring dynamically sized arrays.
Motivation:Vectors are C++'s implementation of a dynamic array. A vector provides the random access lookup speed of a fixed size array, with the additional benefit of being easily resized at run time. Every C++ developer should be familiar with the std::vector and it's features.
Exceptions exist in most modern programming languages, making it important for a programmer to understand them and know how to handle them.
Arithmetic is a fundamental branch of mathematics. An understanding of arithmetic concepts, and their application, is important for every candidate.
A stream is a sequence of data elements made available over time. It is particularly useful for tasks that may benefit from being asynchronous, including tasks such as I/O processing or reading from a file, and as such is important for developers to understand.
Conditional statements are a feature of most programming and query languages. They allow the programmer to control what computations are carried out based on a Boolean condition.
Every programmer should be familiar with data-searching methods, as they are very common in data-analysis processes.
Many real-life situations are best modeled by graphs. Therefore, an in-depth knowledge of graph data structures is important for a good programmer.
Dynamic programming methods for code optimization can be very useful to a programmer who understands them.