The word 'memento' refers to an object kept as a reminder or souvenir of a person or event. Memento pattern is a behavioral pattern in GoF because it captures and externalize an object's internal state so that the object can be restored to this state at a later time.
I come across a list of interview questions on the web for interviewing software engineers, or specifically, for coders.
What's the differences among a software engineer, a software developer, a programmer, and a coder?
It's arguable what constitutes a good developer. To me, it's the curiosity and the ability inside a developer to find and implement cost-effective software solutions that are easy to be extended by others. Knowing answers to the list below does not demonstrate the core ability of what I believe a good developer should have.
Coding ability is only partially relevant to become a good software developer. There are other factors like the ability to identify the problem, the ability to provide solution, and the ability to allow others to understand your thought process so that they can extend/maintain your code easiily.