an Interface is a shared boundary across which two or more separate components of a computer system exchange information
Interfaces have to be implemented by a specific class, they can't function on their own, using the keyword implements.
You also have to implement all the methods the interface declares.
Algorithims
Algorithm analysis the determination of the computational complexity of algorithms, that is the amount of time, storage and/or other resources necessary to execute them.
Big-O notation is a mathematical notation that describes the limiting behavior of a function when the argument tends towards a particular value or infinity.
you're asked about this in basically every tech interview