Software engineers write programs to design and develop computer software. Interviews are highly technical, so come ready to work through coding problems and math brainteasers. The specific questions you are asked will depend on what type of programming position you are looking for. Try researching a specific software discipline such as web development, application development, or system development.
How many tries would it take to successfully choose a randomly-picked number from between 1 and 1000?
I didn't know, but I vainly tried to get it. Just keep picking a median number (500, 250, 125, etc.) until you get it right.
log2(1000) = log 1000 / log 2 ~= 10