I'm in for my first programming interview ever having done a Ph.D. in CS and previously only worked in academic positions. Therefore, I have a question about interviews at places like Google etc. I've put down on my resume that I know C, C++ and various functional programming languages very well. I was planning on writing my code during the interview in C unless I'm specifically asked to use another language.
The only problem with using C is that there is no built in implementation of a hash function. Many interview questions I've seen online often require hashing. Is it OK in these interviews to assume the existence of a hash function in these cases? Or am I expected to write a hash function for whatever struct I'm defining? In other words, do they expect my C code to always be a complete program that one can run?