I like your list! I'm going to give it to my little brother before he applies to work for Google. One thing I'd recommend looking into is deep search with pruning. It's nothing terribly clever- just boxing up something you've probably done before and giving it a name. It's a problem solving technique that often has tremendous real world benefits. Essentially- if you can take a problem and define it like a tree with potential solutions on the leaf nodes, can you define a search on that tree that gets you to the right solution as fast as possible? Often simple tricks can help you chop off entire branches of the tree so you never having to waste computation exploring them.
It's nothing revolutionary, but its good practice to be mindful of when you can chop pieces off of your search space. Interviewers always love hearing something like "and if we organize the problem this way, we can always stop searching here because we know we can't get a better result".
P.S.- If you know python I'd recommend interviewing in that. You won't be able to implement anything with nodes very well, but you can write most code on the whiteboard very succinctly. They WILL want to see actual code.
It's nothing revolutionary, but its good practice to be mindful of when you can chop pieces off of your search space. Interviewers always love hearing something like "and if we organize the problem this way, we can always stop searching here because we know we can't get a better result".
P.S.- If you know python I'd recommend interviewing in that. You won't be able to implement anything with nodes very well, but you can write most code on the whiteboard very succinctly. They WILL want to see actual code.