In a micro service architecture, how should two services communicate with each other? Shared database? REST calls?

I’ve read a number of conflicting articles as to whether microservices should share a database. How and when should microservices communicate? Someone posed the example of 2 microservices: 1] Employee and 2] Department. Suppose the Employee microservice needs information about a department. Should these microservices share a database? Should they communicate over REST? Should they duplicate data in each of their own databases?

Thank you!