Tooling and IntelliJ
TDD
Classes
Data Types
Data Structures / Algorithms
100

This terminal command will print out the version of java you are using.

What is `java -version`

100

These three words paint a "colorful" picture of how to do TDD.

What is "red / green / refactor"

100

A class definition is a blueprint for a specific type of object. When an object is created from a class definition, we call it this.

What is an instance?

100

This data type represents a collection of alphanumeric characters.  

what is "String"?

100

Java Arrays are statically sized, unlike this related data structure.

What is an ArrayList?

200

This command is used to compile your code using Gradle.

What is `./gradlew build`?

200

This helpful acronym describes four stages of a unit test. Let's just sit with this question for a while.

What is SEAT?

200

Classes define state using fields. they define behavior using these.

what are methods?

200

This is something that a `float` type has, that an `int` value does not.  It's what makes a `float` more precise!

What is a decimal point / decimal places

200

In Java, these are functions that aren't bound to classes as methods and don't need names.  (The same term may be used differently in other languages.)

What are Lambda functions / expressions?

300

This type of file is created when you compile your code using Gradle.  No, it doesn't store jam!

What is a .jar file?

300

This is a type of software used to write automated tests for code.  Examples include JUnit, XUnit (Java), Jest, and Mocha (JavaScript)

What is a testing framework.

300

This is the name for the method that instantiates the class, in accordance with the "new" keyword.

What is a constructor?

300

This is the term for assigning a value of one data type to another type-- Or for pouring molten metal into shapes

What is "Casting"?

300
Pairs of these are stored inside a HashMap-- One is used to reference the other!

What are key / value pairs

400

This is used by the compiler to resolve your java project's dependencies. 

What is "Build path"

400

This principle of good test design says that all unit tests should be designed to run independent of external factors, and of each other.

What is isolation / isolated?

400

This is the number of arguments you can pass to the default constructor

What is 0

400

This is a term for data types which are pre-defined and aren't objects.  They can be referred to using built-in keywords.

What are "primitive data types"

400

This type of algorithm involves creating a variable,  iterating over arrays and lists, and modifying the variable at each iteration.

What is the accumulator pattern?

500

This is used at runtime in order to find necessary dependencies.

What is "Classpath"

500

A title, a narrative, and acceptance criteria with GIVEN,WHEN, and THEN clauses are all requirements for developing using this style (which incorporates TDD!)

What is Behavior-Driven Development / BDD
500

This practice involves writing multiple methods to instantiate a class, all with the same name but different types or amounts of parameters.

What is constructor overloading?

500

This is the term for the conversion of an object of a wrapper class to the value of its respective primitive data type-- and for a popular YouTube genre!

What is "Unboxing"?

500

Classes can "extend" only a single superclass.  However, they can "implement" as many of these as you'd like.

What is an interface?