When I interviewed for my current job, I didn’t pass the interviews on the first time that I tried. When I applied again 1 year later, I passed, but I had changed my strategy in preparing for the 2nd time to correct all the mistakes I made during the 1st time.
There were other factors of my growth as a programmer beyond the whiteboard problem practice that helped equally as much, if not more so, in my success in the 2nd round of interviews. But the whiteboard programming aspect is more immediate and usually more stressful.
To help others who may need the help in the way I did, the following is a summary of how I prepared the second time: