Got referred by a friend to a team manager. The team manager liked my resume and scheduled a phone interview with me. Phone interview was mainly informing me about the job requirements and if I was interested and if I was willing to relocate to Intel Hillsboro location in Oregon. I showed interest and then an on-site interview was scheduled within a week. The onsite interview was an entire day. It started with a presentation of my PhD dissertation work for an hour, then 6 technical/behavioral interviews with a lunch break in between.
Some initial interview advice:
Learn these algorithms by heart: bubble-sort, selection sort, insertion sort, merge sort, quick sort, breadth first search (BFS) , depth first search (DFS)
Learn basic data structures: Linked lists, hash tables, stacks, queues, heaps, binary search tree
Learn basics concepts: Recursion, memory: stack vs heap, tail recursion, dynamic programming. C++ classes stuff like inheritance, polymorphism etc,
You can use the "cracking the coding interview" book to learn most of the aforementioned stuff.
Important note: Practice coding everything on a piece of paper, not on your computer. This will help build confidence and make the interview process go much smoother.
I interviewed with Intel twice. First, a frame automation engineer position. The interview went horrible because I lacked confidence due to not practicing on paper beforehand and when they asked questions I fumbled a lot and time ran out. I wasn't given an offer for this position.
The second position I interviewed for was a CAD engineer position. This interview went much better and I received an offer for this position.