Question: what is the difference between system mode and user mode?
Answer: System mode means running apex code by ignoring user's permissions. User mode means running apex code by respecting user's permissions and sharing of records.