What is the Stack data structure? What are the rules of interacting with a Stack?
A Stack data structure is a container of objects that are inserted(push) and removed(pop) according to the last-in first-out (LIFO) principle. Additionally, you can only see the top element and not the other lower elements.
What is The Call Stack? How does it work?
The Call stack represents each method call as an element on a stack. It keeps track of when a method calls another method, usually in the following order: outer method needs > inner method