I have seen many devs fumble over this question. After all, they're getting asked this question when interviewing for a microservices architect role, so acknowledging its cons can be a little tricky. Here are some good answers:
They require heavy investment – Microservices demand a great deal of collaboration. Since your teams are working independently, they should be able to synchronize well at all times.
They need heavy architecture set up – The system is distributed, the architecture is heavily involved.
They need excessive planning for handling operations overhead – You need to be ready for operations overhead if you are planning to use a microservices architecture.
They have autonomous staff selection – Skilled professionals are needed who can support microservices that are distributed heterogeneously.