I think these could be weeder questions for people you know little about.
If you have an applicant who has a github full of great code or experience working for a good software company you can probably skip this.
However if you get a candidate without much on paper but who insists they are a Java expert but doesn't know what the extends keyword does then there is something wrong somewhere.
The problem with asking for definitions for words though is that I personally often forget exactly what these are if I ever learned the correct term in the first place.
For example I knew how to override methods and the differences between the type system in PHP and the one in Java long before I knew what polymorphism or "dynamic typing" meant.