First "round" pre-screening about where you'd like to work, do you have a cellphone, etc. Next was a code screen that was essentially half OOP, half decision making (ex. what would you do in this case). Two behavioral interviews after - one with hiring manager and one with engineer in charge of your department + hiring manager.