What position does a servo assume it has when the arduino gets powered up?

If a servo arm has a random position (from a previous sketch or so) what position will it take if i tell it to go to 90 degrees? Does it know where it is?

You can do a servo write before the servo attach to send the servo to any start position you prefer.

Yes, it knows where it is. So whatever signal you send it for a new position it will go there. (Or try to anyway.... sometimes there may be mechanical reasons like lack of torque, which prevents that.)

One thing you do need to know though, leading on from AWOL's response above, is that if you don't tell it otherwise it will try to go to 90 degrees. The servo library by default sends a 1500us signal (which in practice means 90 degrees) as soon as you do a servo.attach().