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.
What happens if we do not have a hashcode method in an object
Read Effective Java by Josh Bloch
java supplies its own