ARM talent acquisition team visited our campus virtually for an intern role in the verification domain. There were totally 3 rounds,
Round 1 (Written Test) :
- 30 Aptitude (Time & Work, Time and Distance, percentages, profit and loss, SI & CI covered all major topics in aptitude)
- 70 Technical (Digital, C basics & Guessing the output, OS concepts CA Theory and few numerical, circuits based questions (as I am from CS background I could not elaborate more on this.)
The written test had a duration of 2+ hours.
Round 2 (Technical Round-1): Some basic questions on topics such as Cache and pipelining.
- How does the Execution of Instructions happen in Non-pipeline architecture and pipelining architecture?
- What’s the need and why do we prefer pipeline over non-pipeline architecture.
- What is Memory Hierarchy?
- What is Cache Hierarchy?
- Basic Questions on Sorting algorithms
- Discussion on projects. They were interested in projects which are done using C & Python. I had only from Java & Python but None using C.
Round 3 (Technical Round-2): After a brief introduction about myself. The actual interview began.
- What is paging?
- What is virtual memory? What are the different ways you implement concepts of Virtual memory?
- What is MMU? What does it do?
- What are L1, L2 Caches? How do they differ from each other?
- Design of ARM processor
- What is a critical section?
- Why do we need process synchronization mechanisms? What are they? How are they implemented?
- What is the process? Differentiate process vs Threads? Why Thread is called a lightweight process?
- How many types of Semaphores are present? What are they? How do they differ?
- Questions on my ML projects (as the intern role also involves performing some regression tasks a few times)