Apple Interview - Full Stack Software Engineer
Summary
I interviewed for a Full Stack Software Engineer position at Apple. The interview consisted of a React JS coding round and a Java coding round.
Full Experience
React JS Coding Round
-
What are the optimized ways used for the loading of the website like Amazon.com or Flipkart.com if opened in incognito mode?
-
Is JavaScript Multithreaded or Single Threaded? what is event loop? is the working of JS top to down or vice versa?
-
In JS if we fetch huge data e.g. 10M record through an API and render in UI inside a table, what will break on the UI and how can we resovle it?
-
Output for
for (var i = 0; i < 10; i++) {
setTimeout(() => {
console.log(i)
}, 0)
}
-
Difference between var and let keyword in JS.
-
What are closures and give an example?
-
What is Temporal Dead Zone in JS?
-
Implement +- button basically span collapse
import React, { useState } from 'react'
import './App.css'
// Root +/-
// Child 1 +/-
// Child 1.1
// Child 1.2
// Child 2
const data = {
"id": 1,
"name": "Root",
"children": [
{
"id": 2,
"name": "Child 1",
"children": [
{
"id": 3,
"name": "Child 1.1"
},
{
"id": 4,
"name": "Child 1.2"
}
]
},
{
"id": 5,
"name": "Child 2"
}
]
};
function App() {
return (
<div className="app">
</div>
);
}
export default App
-
Difference between setTimeout and setInterval?
-
What is defer in HTML? Can it be used with
imgtag also?
Java Coding Round
- You are given an undirected graph with n nodes labeled from
0ton - 1, and a list ofedgeswhereedges[i] = [u, v]denotes an undirected edge between nodeuand nodev. Determine whether the graph can be colored using exactly 2 colors such that no two adjacent nodes share the same color. Returntrueif such a coloring is possible, otherwise returnfalse.
Interview Questions (11)
Optimized website loading strategies
What are the optimized ways used for the loading of the website like Amazon.com or Flipkart.com if opened in incognito mode?
JavaScript threading and event loop
Is JavaScript Multithreaded or Single Threaded? What is the event loop? Is the working of JS top‑to‑down or vice‑versa?
Handling large data rendering in UI
In JavaScript, if we fetch a huge data set (e.g., 10 million records) through an API and render it in a UI table, what will break on the UI and how can we resolve it?
Output of setTimeout loop with var
What is the output of the following code?
for (var i = 0; i < 10; i++) {
setTimeout(() => {
console.log(i)
}, 0)
}
Difference between var and let
Explain the difference between the var and let keywords in JavaScript.
Closures in JavaScript
What are closures in JavaScript? Provide an example.
Temporal Dead Zone in JavaScript
What is the Temporal Dead Zone (TDZ) in JavaScript?
Implement collapsible tree with +/- button in React
Implement a component that renders a tree structure (provided JSON data) with expandable/collapsible nodes using +/- buttons.
import React, { useState } from 'react'
import './App.css'
// Sample data structure provided in the interview
const data = {
"id": 1,
"name": "Root",
"children": [
{
"id": 2,
"name": "Child 1",
"children": [
{ "id": 3, "name": "Child 1.1" },
{ "id": 4, "name": "Child 1.2" }
]
},
{ "id": 5, "name": "Child 2" }
]
};
function App() {
return (
<div className="app">
{/* Render the tree here */}
</div>
);
}
export default App;
Difference between setTimeout and setInterval
Explain the difference between setTimeout and setInterval in JavaScript.
HTML defer attribute usage
What is the defer attribute in HTML? Can it be used with the img tag as well?
Check if undirected graph is bipartite (2‑colorable)
You are given an undirected graph with n nodes labeled from 0 to n - 1, and a list of edges where edges[i] = [u, v] denotes an undirected edge between node u and node v. Determine whether the graph can be colored using exactly 2 colors such that no two adjacent nodes share the same color. Return true if such a coloring is possible, otherwise return false.