In my team, anyone can review the code made by anyone. That means two seniors can review each other but two juniors too.
What is important exactly in a code review depends on the team. But generally, the same items are reviewed:
* Are team conventions applied?
* Can another understand the new code?
* Is code resolving the issue?
* Can I think about a better code? Something to refactor?
Even two juniors can ask this questions and try to answer them.