Do I need to create tablespace and also add all datafiles before importing a schema using datapump?
impdp is able to create the tablespaces. You can even change the location of the datafiles if needed. Check the documentation for more information since there are many parameters with this tool (REMAP_DATAFILES and REUSE_DATAFILES for example).