I was interviewing for Apple Pay. I applied for the role online and received an email to begin the interview process.
The hiring manager reached out to schedule an interview with the Apple Pay team. I had my first manager round.
We started with his background and what the team does, then moved on to my experience and background.
At every point, he would stop me and ask for clarification or proof that I had worked on a particular item. He would not go deep into technical details but primarily asked Java, Spring, and other technology-based questions relevant to the team's work.
Initially, we began with basic reactive versus functional programming concepts.
He asked if I had used them, and in which languages.
He would then Google and ask questions directly from library documentation.
Spring-based questions followed, which then led to random Spring injection scenarios.
I was asked if I had used @Transactional.
When I answered no, he asked for its internal workings. I explained that since I hadn't used or heard of it, I couldn't explain its internal workings.
He then asked how @Transactional helps with the concurrent execution of multiple scripts. I told him I was guessing, and it turned out to be right. He didn't seem pleased, so he took a deeper stab at it, and more of my guesses were correct.
In the end, he switched to asking questions about Kafka. I have experience with Kafka, so I mentioned that. He asked a couple of questions, and I provided a deeper understanding of it. He was neither happy if my answers were correct nor did he acknowledge them.
Then he started bragging about why he dislikes Spring or Spring Boot and how he encourages (more like forces) his team to use Java and open standards. He did show some dislike towards a few of his team members who used Go.
He then began explaining himself as a manager who believes in open standards and not being reliant on a particular framework. However, minutes before, he only showed interest in Java and using Spring, while disliking Spring Boot, which seemed contradictory.
He wasn't interested in my experience but was just looking for a Java "geek" who could validate his theories.
Overall, I did not like his interview style. He was kind of a dork and had no courtesy while talking. There were no justifications for his theories or answers, and no respect for his team members, let alone those interviewing.
Reactive vs. Functional
When do you use reactive?
Examples of reactive and its internal workings.
What are reactive streams?
Spring Boot - Why do you use it?
Java 8 Questions
Major advantages of Java 8?
@Transaction in Spring?
Internal working of @Transactional.
Why use Spring Boot?
What are the open standards for Java?
Open standards for REST calls? What's the exact name of this standard (IEEE??)
What's the API standard for financial transactions?
Internal details of this API standard & why is it present?
BeanFactory vs. ApplicationContext?
The following metrics were computed from 102 interview experiences for the Apple Senior Software Engineer role in United States.
Apple's interview process for their Senior Software Engineer roles in the United States is very selective, failing most engineers who go through it.
Candidates reported having good feelings for Apple's Senior Software Engineer interview process in United States.