The heart of software is solving problems. To practice you need to ask questions. Here's a few questions that were asked during an interview last month. I didn't get the job.
Describe a test plan to test Netflix's search.
My abridged answer: test basic functionality, create use cases, possibly performance test, focus on specific input and expected output.
Their answer: Don't remember, didn't write it down, but something similar.
Shoulda said: Not sure. Talk about different testing techniques.
Write a SQL statement that would pull the second oldest employee from a table.
My answer: "select top 2 * from employees order by age desc" then use the calling function to extract the second.
Their answer: Use a nested query. Grab the two oldest, grab the second in that list using max. (Not sure why max() since it only returns 1, but the hour was up so I didn't press.)
Shoulda said: What they said. They were looking for a query only way to get the result.
A corporate phone directory is in nested folders. Your name is a folder under your boss up to the CEO. In each folder is a phone.txt file with a number with the format xxx-xxx-xxxx. Write a script to change the formats to (xxx)xxx-xxx.
My answer: Use a script that would start at the root and recursively visit each folder, so depth first. In each folder, if there is a phone.txt file, open it and look for the regular expression matching the phone number. If there was a match replace with a correct syntax.
Their answer: None given.
Shoulda said: Upgrade to database. Or, maybe, pull all phone.txt into a list, then iterate through list.