September 1, 2013 – IIIT Bangalore
I was shortlisted based on my profile (essentially because of projects and publications, thanks to Professors who I worked under) to the interviews by Intel, as it normally does. After waiting for a couple of hours, I was finally called for interview and here is how it broadly went (haven’t got chance to document my experience soon after interview because of other commitments).
I: Kausal, what are you currently working on?
M: I am currently working on a Machine Learning project and a project on extracting semantic associations (for Open Systems Lab)…..
(He was not perhaps interested in Machine Learning so he wanted me to explain the other project which I did in much details, as he started to ask too many questions on minute things and practical applications)
(I was waiting for him to ask about my OS project)
I: What is this Cake Cutting on a cloud (OS project)?
M: Again explained everything in great detail, with emphasis on practical implementation and issues faced in real-time.
(He is not a mathematics guy, so was probably not interested in algorithm and theory behind it but asked everything that he could, to test if the solution we proposed works. I believe he was impressed with the practical applications that our algorithm has in data centers)
I: Are you good in Operating Systems?
I: Which area of Operating Systems are you interested in?
M: Memory management
(I was thinking he should ask me on this, but he didn’t!)
I: Which other areas are you interested in?
M: Machine Learning
M: Cloud computing
(Are you serious?)
M: Software Architecture
I: OK, what work have you done in Software Architecture?
M: Explained our very favorite ATM based voting using RESTful web services
I: OK, what is Software architecture?
I: What are the considerations when you are architecting a system? Explain.
M: Answered with diagrams and stuff
I: How do you choose one architecture over other?
M: Explained what all I knew
I: How can you say one architecture is better than other?
M: Explained what all I knew
I: OK, given a requirement, how do you proceed to architect?
(He gave me a real-time vote(r) registration system with really strange requirements and asked me to architect it)
I did it using Web services
I: Why web services?
I: How do you deploy this system?
I: How can you prove that your architecture is better than any other architecture?
M: I talked about functional scalability because of REST
I: What is scalability? Functional scalability?
Answered everything well, but missed to mention re-use of existing software modules
I: Wouldn’t you want to reuse?
M: Yes we can, if only there is no tight coupling between that module and the software. Also told web services facilitate re-use.
I: OK, we’ll discuss Memory Management now. What is a memory manager?
I: What are the functions of a memory manager?
I: Why memory manager?
Discussion went into Logical addressing, physical addressing, etc. And some more questions on Memory management like what if logical address length and physical address length are same and stuff like that. I don’t remember them now though.
I: How good are you in C, C++ and Java?
I: Difference between C++ and Java? When do you prefer one over other?
(Many other questions on C++ and Java which I don’t remember well)
I: How do you ship an application developed in Java to a customer?
I: How do you do if it is developed in C++?
I: What is a DLL? Why? How?
I: How to handle DLLs while shipping application?
(And a few more questions on system calls, system programming, DLLs, etc., which I don’t remember well)
I: How good are you in C?
M: I am a good programmer
I: Any projects done in C?
M: Virtual File System, explained it
I: How did you architect the Virtual File System?
I: How do you search for a directory in a file system?
I: How do you implement an n-ary tree?
I: Can you write code for creating n-ary tree (Syntax not very much strict)?
(Some discussion on that)
I: Can you write code to traverse it?
(Some discussion on that)
I: What is the order of execution of recursive calls?
(I messed it up initially and finally explained him what my code does)
That was a 55 minute interview while my friends were getting done in 15-20 minutes. I was really exhausted and disappointed at the ending. I felt I must have done it much better in the end, especially explaining my code.
Suddenly I was called again (unexpected) for another interview.
I: Kausal, tell me about yourself
(I was prepared well for this)
I: What are you currently working on?
M: Explained Machine Learning project and its objective
I: What work has been done till now?
M: Nothing Sir, just literature survey
I: What literature survey?
M: We are reading some 100 page thesis and started recently, so not much done
I: If you are implementing some others’ thesis, how can you claim it to be your work?
M: Reading thesis is a part of addressing the problem we are working, but the actual objective is novel
I: How do you know that it is novel? How do you check if it was not used by someone?
M: Extensive Google search 😛
I: What will you do if you are using others’ work?
M: Acknowledge and cite them
I: What are your obligations if you use Open Source?
M: Talked about GPL and other licence terms but told I don’t have in-depth knowledge about them but I can learn soon
I: How do you handle IP (Intellectual Property) issues?
M: Told something that came into my mouth
I: If you are joining Intel, you would be given a laptop and your friend who is in urgent need of a laptop, what would you do?
M: I will gently tell him that even I don’t do my personal work on office laptop, so I can’t give him.
I: Are you sure?
M: Yes, why not. I always believe integrity is the one which keeps me live long in the industry in a better shape.
I: Any example of you maintaining integrity?
M: A couple of examples as a Placement Committee lead
I: I understand that you won’t be, but what would you do if your friend is being disloyal to his work?
M: I will tell him its not right
I: Any examples?
M: I related something to an incident in Infosys
I: Any other example?
M: I related something to an incident in college
I: Something that you would want to be changed in this college / anywhere?
M: Told some issues I faced as a Student Placement Coordinator in college
I: OK, Kausal too much of non-technical questions, which subject do you like the most?
M: Operating Systems
I: I know you like it based on your previous interview. OK, which area are you not good at?
M: Working on Big data
I: What did you do to come out of it?
M: Took a course last semester and am still doing some project related to it, so improving gradually
I: Kausal, your Resume looks great but why do you think your CGPA is low?
(I was not prepared for this question but somehow managed)
M: I am kind of practical guy, not that good at theory and remembering things. So messed up a few theory papers and hence low CGPA
I: What would you want to be in life?
(I was prepared for this)
M: Stereotype answer like keeping updated with latest trends in technology and stuff
I: I didn’t understand anything!
M: Then I related to something he talked in Pre-Placement Talk about the role of a Principal Engineer, whose role is not just limited to Intel but helping the technologists across companies
I: Kausal, do you have any questions for me?
M: I asked about Intel’s new project of single core cloud computing processor. He told he doesn’t have any information on it. There are a few things which they don’t know and there are a few things which they know but can’t say. I agreed to it saying, that’s what even I believe in, to not talk about something which we are not supposed to talk.
I: Do you have any other questions?
M: Nothing much, most of them were clear in your PPT about how the life would be at Intel
I: OK Kausal, thank you, all the best!
M: Thank you!
I was, in my inner senses hopeful of an internship position but my name was announced for the position of a College Graduate plus intern at Intel! This was one of “my days” and yes, I am lucky, I am lucky, I am lucky.
My overall take on getting into Intel:
You must relate your work/project experience to their work, talk practically, have practical use of every project done, be good in Operating Systems, System programming and C, C++ and Java. Overall, practical applicability is what they see.
I thank my parents because of whom I am on this earth, god and nature for everything he has given me on this earth to learn from, teachers because of whom I am what I am, sister for all her best wishes, family, friends and everyone who helped me directly/indirectly.