They are like regular tables but stored in the tempdb database.These tables automatically get removed from TempDB as soon as the connection which created it get closed whereas normal tables are going to reside forever. (Unless someone explicitly remove it)
Temporary tables are of two types,
Local Temporary table – defined using a pound sign (#) and accessible only within the session that created it
Global Temporary table – defined using double pound signs (##) and visible to all users.
Syntaxt for creating them
Create Table #MyTable
Create Table ##MyTable
Below is a nice SQL Server interview question video on coalesce and ISNULL