Introduced through a recruiter. He also set up the phone interview. Interview itself was technical, with many Bachelor level programming questions. For example, name the three basic constructs of a programming language (conditionals, functions, sequential code). Also, the interviewer asked questions about common software design principles like singleton, command, or factory.