Software research engineer sollicitatievragen
157Sollicitatievragen voor Software Research Engineer gedeeld door sollicitanten
How many windows APIs do you remember?3 antwoorden
Design for a google doc style spreadsheet, with a focus on how to handle multiple concurrent edits and formulas on the spreadsheet.2 antwoorden
Described a transactional model for updates.
It's a very common interview question, this article How To Design Google Docs (bit.ly/1RxoUV7) has a detailed discussion about this topic. bit.ly/1RxoUV7 Minder
Build a program to process data from an emitter. The data arrives ordered and for every received record your program may take from 0.1 to 5 seconds to process. The processed data has to be given to a stream, ordered and in real time. For the sake of the example the processing time is random sleeping between 0.1 to 5 seconds.2 antwoorden
Build a queues based system with multiple record processors that work in parallel, but make sure that this processing happens in parallel, not just concurrently as in the real world the CPU will be working, not just sleeping. Minder
As an addition to the answer above: Parallelising the elements processing without extra logic around it would cause the processed elements to be published downstream in a non-deterministic order. If we want to maintain order and parallelism, a solution could be to have a (circular) atomic auto incrementing integer `i`, after processing an element `e` assign the latest `i` to it by putting them into a map from `i` to `e`. Keep track of the latest `i` which has been published downstream, let's call it `latest`. At this point, whenever `i` is incremented, check if `i` is the successor of `latest`, if that's the case it means you can publish that element downstream and you can also publish all the elements in the map that are successors (while clearing them from the map). If you use this approach in some cases (eg. when processing of one element produces lots of data), you should make sure the queue in bounded, not to risk out of memory while processing too many elements in parallel. Minder
pure technical questions based on machine learning and deep learning.1 antwoorden
answered, but not upto the mark got nervous
Past work related to what company is expecting from the candidate and the related skills1 antwoorden
Explained projects in the area that is relevant and technologies used. Detailed the projects in the same domain and skill used to complete those and willingness to work on the same domains. This is only round#1 and waiting for next steps Minder
how did you hear of our company?1 antwoorden
Through a search on the network
Basic information on CV. About projects and research.1 antwoorden
Go though my listed experience in CV.
Why did you choose C++?1 antwoorden
You asked for C++ or Python. I chose to do it in C++ as I prefer it over Python.