Behavioral interviews for software engineers: Explained