ARM Job interview tips?

The Partridge Family were neither partridges nor a family. Discuss.
Post Reply
User avatar
YoMomIsANiceLady
Posts: 33
Joined: February 2nd, 2017, 8:20 am

ARM Job interview tips?

Post by YoMomIsANiceLady » February 15th, 2017, 4:30 pm

Hey guys,

so I just got a job interview offer to intern with ARM and will be having the interview soon. The internship title is Visual Compute / Graphics & Gaming. So I will work on parallel programming for the ARM GPUs I believe.

Necessary requirements are:
- C/C++ programming skills (yay)
- Experience with programming compute-intensive programs using OpenCL or SIMD

And they also mentioned it would be good if I had experience with:
- ARM Mali (or other) mobile GPU architecture
- ARM NEON (or other) SIMD architecture
- Knowledge of software processes including agile methodologies
- Experience with Android or Linux internals
- Experience with relevant libraries e.g. OpenCV, TensorFlow
- Experience developing applications for mobile System on Chip platforms



I'd say I'm getting pretty good at C++ through my college course and chili's vids. I believe the technology used for the directX game tutorials is OpenGL ? I guess... So there's something, yay! Now I'm reading up and watching some videos on some Mali and OpenCL but I don't think I will have quite enough time to master everything before the interview. I'd just like to do some quick research. I would really like this job. From all the ones I applied to, this one seems very interesting to me!

So throw some quick tips at me if you can, please! If you have any relevant experience, what other good materials to learn from? Any links to videos / tutorials / documentation ?
"Life is like death, but completely different"
- Ivan Gašparovič

User avatar
YoMomIsANiceLady
Posts: 33
Joined: February 2nd, 2017, 8:20 am

Re: ARM Job interview tips?

Post by YoMomIsANiceLady » February 15th, 2017, 5:38 pm

OH OH! SIMD is a part of SSE right? Chili's video series. ONTO IT!
"Life is like death, but completely different"
- Ivan Gašparovič

albinopapa
Posts: 4373
Joined: February 28th, 2013, 3:23 am
Location: Oklahoma, United States

Re: ARM Job interview tips?

Post by albinopapa » February 15th, 2017, 6:53 pm

I'd look up the ARM Neon for the SIMD because the instructions are different than the ones for SSE. The ideas should still the same though. For games, anything that doesn't run on Windows will either be Vulkan or OpenGL. The Agile methodologies has to do with the design process with a team. I haven't looked too deeply into it, but there are plenty of places you can look up through google and Youtube. Good luck with the rest.
If you think paging some data from disk into RAM is slow, try paging it into a simian cerebrum over a pair of optical nerves. - gameprogrammingpatterns.com

reductor
Posts: 49
Joined: October 24th, 2016, 12:23 pm

Re: ARM Job interview tips?

Post by reductor » February 15th, 2017, 10:33 pm

OpenGL is graphics rendering OpenCL is compute processing, while both will use the GPU they are vastly different things.

If you have no existing experience with the additional section then just get an idea of what the terms mean don't start learning them now focus on your core strengths and make it clear to them what you do and do not know. If you go into an interview saying your aware of mobile GPU architecture, etc you will be asked those questions and if you get them wrong the job will not be yours.

I can not reiterate enough make it clear in your interview what your knowledge is, don't attempt to sell yourself for more then what you are because they will see right through you and just ask you questions that will make you look stupid.

Study up on your C/C++, be aware of what compute is (essentially many-cores -- for most consumers on the GPU) maybe even do a quick run through of an OpenCL tutorial. (Does not need to be ARM).

Additionally SIMD is Single-Instruction Multiple-Data is a class of instructions, to use one instruction (e.g add, multiple, divide) on multiple pieces of data (e.g. x, y, z in a vector).

While this job does not have it mentioned within its description I suspect that it will also involve a big of math so be expected to understand vectors, matrices, trig, etc (potentially quaternions)

For the personal side of things and integrating with teams you will be asked questions related to
* How you have worked and collaborated within a team
* How you have handled conflict with others within your teams
* What is your ideal position and work (future prospects) -- sometimes where do you see yourself in X many years

There will also potentially be puzzles (again depends on the interviewer), these are about seeing how you solve a problem not necessarily about the solution itself so if you get these make sure that your talking your way through it with the interviewer.

Other useful things to do for job prep is taking coding tests ( e.g. codility.com ), however during an interview (depending on the interviewer) there probably won't be much code.

Good Luck, feel free to contact me if you need more advice.

If you do not get the job, make sure to ask why and what things to improve upon (sometimes it is hard to get this info, as its HR that often tells you no thanks), it will send a good signal to them that you want to improve should you apply again in a couple of years. If your unclear on the things to improve upon or how you can improve upon them without working in the industry feel free to contact me or just ask around here.

User avatar
chili
Site Admin
Posts: 3948
Joined: December 31st, 2011, 4:53 pm
Location: Japan
Contact:

Re: ARM Job interview tips?

Post by chili » February 16th, 2017, 1:39 am

YoMomIsANiceLady wrote: I believe the technology used for the directX game tutorials is OpenGL ? I guess... So there's something, yay!
The framework is built on DirectX (Direct3D 11), which is completely separate from OpenGL. Basically, they are two competing technologies which do the same thing.

The SSE tutorials I have up may give you some background about how SIMD works and some of the related issues (such as dealing with memory alignment). If you can find some material on ARM simd programming (preferably with C intrinsics), that would be better, since it would be more directly relevant to the job. I'm not sure if there is much material on that though (like entry-level tutorials etc.)

You'll have a much easier time finding tutorials on OpenCL. Even if you don't have access to ARM hardware, you can code for it on your AMD/NVidia card and you will learn the important basics of the API.

Listen to Reductor, part of his job is interviewing/screening job applicants.
Chili

User avatar
YoMomIsANiceLady
Posts: 33
Joined: February 2nd, 2017, 8:20 am

Re: ARM Job interview tips?

Post by YoMomIsANiceLady » February 16th, 2017, 6:25 pm

All this seems like really good advice. Thanks guys!
"Life is like death, but completely different"
- Ivan Gašparovič

Post Reply