I applied online. The process took 2 weeks. I interviewed at Meta (Dublin, Dublin) in Dec 2019
Interview
Applied for the job and hadn't heard any response for months. I received an email asking if I was still interested and a screening call was made. The screening interviewer was really nice. The 30 minute call asked about my previous experience and then a run through of some basic JS questions.
I proceeded from the screening call to setup for a code interview (remote). The material suggested to prepare was front-end (HTML, CSS, JS) and core computer science subjects (algorithms, design etc.).
The code interview was 1hour and wasn't with the interviewer suggested by email (surprise when I called him by the wrong name!). There seemed to be some lag on the call so conversations weren't fluid. The code questions were core Javascript questions. There were no compile or program execution, rather just to talk about problems within the code and possible solutions.
I didn't progress after this stage and was informed the next working day.
Interview questions [1]
Question 1
Q1:
Given the following function works, what are the problems that you can identify?
How would you improve on said problems?
const items = [
{ type: ‘phone’, color:’gold’, device: ‘Nokia’},
{ type: ‘phone’, color:’bronze’, device: iPhone},
{ type: tv, color:’brown’, device: Sony}
]
const excludes = [
{k: ‘color’, v:’gold’},
{k: ‘type’, v:’tv’}
]
function applyFilter(items, excludes) {
excludes.forEach(pair => {
items = items.filter(item => item[pair.k] !== pair.v)
}
return items
}
---
Q2:
How would you construct the Emitter object?
Emitter emitter = new Emitter();
Const sub = emitter.subscribe(‘event_name’, callback)
Const sub2 = emitter.subscribe(‘event_name2’, callback2)
Const sub3 =emitter.subscribe(‘event_name3’, callback)
emitter.emit(‘event_name’, ‘foo’, ‘bar’, ‘baz’);
sub.release()
sub2.release()
sub3.release()