Pergunta de entrevista da empresa Revolut

Java equals/hashcode contract. How we should define our classes to pass assertion?