Global Payments interview question

What is the difference between a String and Stringbuffer? What is an API?