Hi, I’m Brian, a former senior software engineer and now software engineering advisor at Pathrise. I have worked with hundreds of software engineers to help them land their dream job.
- Facebook question – Explain the concept of ES6 promises to a 5-year-old.
- Airbnb question – What are the advantages of using ES6 maps over objects? What about using ES6 sets over arrays?
- Google question – Given 2 identical DOM trees (but not equal) and one element of the first DOM tree, how would you find this element in the second DOM tree?
- Twitter question – Can you write a function that deeply flattens an array?
- Netflix question – Given a picture, how would you hide/show a child’s picture hovering on this parent?
- LinkedIn question – How would you ensure clicking on a picture would go to a specific link? How would you ensure the child is positioned in the top right of the parent picture?
- Microsoft question – If you were building a search tool and wanted search results to pop up as you typed but the server call was taxing, write a function that gets called on every key down but calls the server when the user stops typing for 400ms.
- Google question – Given an input array and another array that describes a new index for each element, mutate the input array so that each element ends up in their new index. Discuss the runtime of the algorithm and how you can be sure there won’t be infinite loops.
- Google question – How do you make a function that only calls input function f every 50 milliseconds?
- Twitter question – How do you make a function that takes f and returns a function that calls f on a timeout?
- Airbnb question – Write a function reveal() that outputs the number of tiles shown when a user clicks on a tile. Each tile shows the number of bombs as its neighbor. If the user clicks on a tile that is a bomb, the game is over. If that tile is 0, reveal all its neighbors.
- Microsoft question – Describe what happens when a user clicks a link in a browser.
- Google question – Write the code to find the balance point of the array.
- IBM question – Describe your experience developing AI applications.
- Groupon question – Implement a to-do list’s delete method on a website.
- eBay question – What is the difference between null and undefined?
- Twitter question – Explain the typeof operator.
- Google question – What are self executing functions?
- Uber question – What is a function callback?
- eBay question – What happens when the recursion calling is applied to two functions?
- Netflix question – Explain the term: closure.
- Facebook question – Explain the terms: synchronous and asynchronous code.
- Microsoft question – How do you add an element at the beginning of an array? How do you add one at the end?
- IBM question – What is Ajax? What are the disadvantages of Ajax? Which are the two methods used for cross domain Ajax calls?
- AMD question – Differentiate between == and ===
- Groupon question – What is JSON?
- Facebook question – What is NaN? What is its type? How can you reliably test if a value is equal to NaN?
- Airbnb question – What will the code below output? Explain your answer.
- console.log(0.1 + 0.2);
- console.log(0.1 + 0.2 == 0.3);
- LinkedIn question – Discuss possible ways to write a function isInteger(x) that determines if x is an integer.
- Microsoft question – Write a simple function (less than 160 characters) that returns a boolean indicating whether or not a string is a palindrome.
- Google question – What is the difference between textContent and innerText?
- Uber question – What is the difference between HTMLCollection and NodeList?
- Netflix question – How can an HTMLCollection be traversed?
- Fiserv question – What is the difference between childNode and children?
- Twitter question – What is the difference between firstChild and firstElementChild?
- Facebook question – Name the two functions that are used to create an HTML element dynamically.
- Netflix question – What is the difference between remove() and removeChild()?
- Twitter question – Implement an autocomplete system: given a query string s and a set of all possible query strings, return all strings in the set that have s as a prefix.
- Microsoft question – You run an e-commerce website and want to record the last N order ids in a log. Implement a data structure to accomplish this, with the following API:
- record(order_id): adds the order_id to the log
- get_last(i): gets the ith last element from the log. i is guaranteed to be smaller than or equal to N. You should be as efficient with time and space as possible.
- LinkedIn question – How can we include jQuery library in ASP.Net project?
- Uber question – In what scenarios jQuery can be used?
- Airbnb question – What is the difference between find and children methods?
- Groupon question – What is jQuery connect?
- Facebook question – How do you use connect?
- Google question – What are the features of jQuery that has been used in web applications?
- eBay question – What are the browser related issues for jQuery?
- Facebook question – How many times would `addEventListener(‘scroll’, handleScroll);` run as the user looks at their news feed? And what would be user experience if the `handleScroll` function takes 100ms to execute. Do we need to add a jQuery file in both the master and content page?
- Twitter question – What are the basic selectors in jQuery?
- Dessault Systemes question – What is the use of the jQuery.data method?
- Groupon question – What is the use of each function in jQuery?
- Netflix question – What is the difference between size and length of jQuery?
- Google question – Can we add more than one ‘document.ready’ function to a page?
- Microsoft question – What is the use of jQuery load method?
- Airbnb question – What are the 4 parameters used for the jQuery Ajax method?
- Facebook question – Why are jQuery filters used?
- Dessault Systemes question – Which testing libraries would you use to test jQuery functions?
Once you have mastered the technical questions that come up in the interviews, you should spend time readying yourself so you are confident and successful. Our mentors work with candidates every day who have the right hard skills, but struggle with the soft skills needed to impress the interviewer. Use these tips to help you as you prepare.
- Don’t jump right in, ask questions first
You might feel like you need to start coding as soon as you get the problem in front of you, but we recommend taking 15-30 seconds to read through fully and ask some questions that can help make sure you are on the right track. “Are repetitions allowed?” or “Do you want to return permutations or combinations?” are good examples of these types of clarifying questions.
- Proactively show what you know
As you work, give the interviewer quick tidbits of information so they can get a sense of your breadth of knowledge. While it might take a little bit of time away from coding, it greatly reduces potentially uncomfortable silences, especially in times when you are thinking and not actively working.
- Give context on your decisions
Similarly, you should be walking the interviewer through your decisions and explain why you are doing what you are doing. Providing the reasoning behind your choices will give them more insight into your thought process, which can be especially beneficial if you have made a mistake in your work.
- Ask collaborative questions to get guidance
While you work, you might find that you are hitting a wall. You can take this moment to bring your interviewer into your issue. Just try to avoid using the word “hint.” Instead, make collaborative statements like “my assumptions are X and Y, I’m thinking of doing Z. But I’m struggling with solving [problem].” You can also try questions like,
- I was wondering if you had any thoughts.
- Do you think I’m going down the right direction?
- Do you think my assumptions are incorrect?
With these questions & tips in your back pocket, you should be more than prepared for your next technical onsite interview. Feel like you need more help? Check out these resources to practice more software engineering interview questions.
You can also check out our other interview question lists:
- Java interview questions from top tech companies
- C# interview questions from top tech companies
- Python interview questions from top tech companies
- C interview questions from top tech companies
- Software engineer interview questions from top tech companies
- Data science interview questions from top tech companies
Pathrise is a career accelerator that works with students and professionals 1-on-1 so they can land their dream job in tech. With these tips and guidance, fellows have seen their interview scores double.
If you want to work with any of our mentors 1-on-1 to get help with your software engineer interviews or with any other aspect of the job search, become a Pathrise fellow.