After submitting my online application, I was asked to provide basic information such as visa status, notice period, and expected salary.
A mini-project with a problem description and data was sent to me, with a one-week deadline for completion. The requirements were similar to Kaggle competitions, and a notebook was to be submitted as the final report.
After clearing the challenge with 80% accuracy using a CNN model, I was invited to a face-to-face interview via a phone call from SAP's HR in the Philippines.
I arrived 10 minutes before the agreed interview time. Unfortunately, SAP has two different offices in Singapore, and HR provided the wrong address in the email. The given address was for SAP's reception desk in one building, but the floor and room number were for SAP's IT department in another building, with no connecting shortcut. Even the property manager of the building was confused by the address I received. It took me about 30 minutes under the tropical sun to reach the correct office after finding the SAP reception desk and getting the accurate address.
The two interview rounds were conducted in a small meeting room. There were some leftover lunch items on the table (I remember this because my elbow accidentally touched them, though I tried to avoid it during the interview), which gave me an unprofessional first impression.
Two interviewers from each round were from the same development group. This meant I had to introduce myself and my projects twice to two different groups. Although small, the meeting room was large enough for six people, and I don't know why the four interviewers couldn't meet together.
One of the interviewers in the first round was impolite and unprofessional. He interrupted me, stating he "cannot understand my research at all" while I was explaining my previous experience as requested. He even asked me "how to choose one out of k models in k-fold cross-validation." I answered him with the definition and implementation of CV, adding that "CV is used to evaluate the capability to predict unseen data and avoid overfitting for ONE model. We don't have k models but one model with k sets of trained parameters."
The interviewer apparently misunderstood the distinction between a model and an instance of a model/method in the context of CV. One can compare a SVM and a CNN model for a specific problem on training data using k-fold CV (using k-1 folds for training and 1 fold for validation). However, once a CNN is proven by CV to be better than a SVM, one should use ALL the training data to train the CNN model. Simply put, CV is for model checking, not model building.
I could feel his attitude becoming impatient after this question. He then asked questions (such as "why not implement SVM using CNN," "why use RNN rather than CNN to handle time series") that seemed intended not to elicit an answer or assess an interviewee's problem-solving ability, but solely to prove that "I am able to attack your opinion immediately after you raise one." I explained some corner cases for these questions and also pointed out that this approach should be avoided most of the time, as we must select the right model for the right task.
The other interviewer, who had a doctoral degree, was polite. He asked me about the details of my machine learning projects and also answered my questions about his group.
The second round of interviews was standard, similar to other SDE interviews with typical questions.
How to train your model given imbalanced training data for a classification problem?
Knapsack problem.
Which IDE are you using for Python and how to handle data and source code files of large size?
The following metrics were computed from 1 interview experience for the SAP Machine Learning Developer role in Singapore, Singapore.
SAP's interview process for their Machine Learning Developer roles in Singapore, Singapore is extremely selective, failing the vast majority of engineers.
Candidates reported having very negative feelings for SAP's Machine Learning Developer interview process in Singapore, Singapore.