Query regarding spark-shell

a)Does spark-shell always invoke spark in standalone mode, if we dont specify any other parameters , while running it from CLI?

b) also , what is exactly standalone mode? is it a clustered environment

or is it that for this mode , driver and worker nodes are in the same computer machine ( non distributed /non clustered mode)?

Please clarify