Are the user environment variables passed into a submitted job?

A running slurm job can access the environment variables that are available to a user when he/she submits the job. If a user wants a clean environment when his/her submitted jobs start, an sbatch option --export=NONE should be used. In addition to the user environment variables that are available to a running job, there are many slurm defined environment variables  that are accessible to any slurm job. For example, the following are commonly used slum environment variables: SLURM_JOB_ID, SLURM_JOB_NAME, SLURM_JOB_PARTITION, SLURMD_NODENAME, and SLURM_JOB_NODELIST. For complete list of slurm define environment variables, please check out slurm defined output environment variables

Is the memory request in a job submission script a physical memory or a virtual memory?

Physical memory. Once the total usage of physical memory of a job exceeds its requested memory, the job will be terminated.