AMD Interview Experience for Internship (On-Campus)

AMD Interview Experience for Internship (On-Campus)
AMD came to our campus (virtually) for recruiting interns for 9 months to work on their projects. They shortlisted all the Dual Degree (BTech + MTech) Computer Science students and Electronics students. The 1st round was an interview on Microsoft Teams. I am from a Computer Science background.
Round 1:
I was asked to first explain any project that I worked on. 
Then I was given a coding question, to insert a node at the middle of the linked list efficiently. 
Where is the pointer stored in memory?
What is a thread? Difference between a thread and a process
How do you make sure that the threads are behaving the way you want them to w.r.t. shared resources
The pointer (used while coding the 1st problem) is allocated a virtual or physical address?
What is virtual memory from your understanding?
How is virtual memory managed?
What happens when the system boots?
Follow up on the prev question: What is a boot loader? What does it do?
What is cache? Why do we need a cache?
Address translation in virtual memory