"Software developers design, write, test, and maintain the code for a software system. Extensive knowledge of programming languages, data structures, and algorithms are necessary to pass the technical interview which is designed to test these skills. Employers are looking for candidates with a bachelor's degree in computer science or related field or equivalent work experience. "
The most difficult questions for me were the ones related with my views on social and economic justice issues. They really care about bringing people in that question the status quo and have their own opinions on different topics even if these topics can be controversial.
My answers to these questions were always very honest and I never try to reply with something that was aligned with my interviewers views. I think that is what they were looking for, people who is honest, opinionated and is always asking questions.