Randomly generated levels

Is it possible to randomly generate levels (using predefined building blocks, i.e. rooms)?

Yes, you can do that. Check out this project to give you some ideas:

https://playcanvas.com/project/360125/overview/howto-randomly-generated-levels