Intuit计算机科学面试真题

职位分类
全部
数据相关
计算机科学
人工智能
产品经理
BQ
面试题
全部(65)
OOD(8)
Algorithm(24)
System Design(29)
高频题(0)
Math(0)
全部(65)
OOD(8)
Algorithm(24)
System Design(29)
高频题(0)
Math(0)
1.Snake exit
2.Subdomain Visit Count
3.Unique Email Addresses Count
4.Longest Substring Without Repeating Characters
5.Spiral Matrix Traversal
6.Design and Implement a Transaction and Invoice Application
7.Advanced Technical Interview
8.Technical Problem-Solving in Work Context
9.Microservice Design Explanation and Related Questions
10.Craft Demo Microservice Implementation
11.Implement Request Rate Limitation
12.Write a Dockerfile
13.Handling Downstream Microservice Failure
14.OOD Parking Garage
15.Build a Bid System
16.Design an app to record photo locations, event names, and event types
17.Write a unit test and handle corner cases
18.Longest Common Substring
19.Design a Multi-Shelf Bookcase System
20.Discussion of Design & Coding Approach
21.Presentation of Design & Coding Solution
22.Full-Stack Website Development in an Interview
23.Design & Coding Exercise Preparation
24.CI/CD and Deployment Questions
25.Microservice Craft Exercise
26.Implement a Rate-Limiting Algorithm
27.Design a rate limiter using the sliding window algorithm
28.Course Scheduling Optimization Problem
29.System Design: Movie Ticket Selling Service
30.Coding: Two Sum Variant
31.Implement a Least Recently Used (LRU) Cache
32.Implement a Queue
33.Top K Elements Problem Using Heap
34.Tile Disappearance Game
35.Find the Nearest Exit in a 2D Board for a Snake
36.Tree Level Traversal and Multi-threading
37.Micro Service Improvement and Deployment
38.Micro Service Deep Dive
39.Micro Service Implementation
40.Find the common ancestor in a binary tree
41.Analyze the time and space complexity of a DFS implementation
42.What is serverless architecture?
43.What is Elasticsearch and why can it optimize search?
44.What is Docker?
45.What is a container in computing?
46.Difference between Error code 400 and 500
47.What happens when you type a URL into a browser?
48.Object-Oriented Design, CI/CD, and A/B Testing
49.Multithreading and Memory Management in Android
50.Android Knowledge Assessment
51.Implement a Feature Based on User Stories
52.Handling Network Calls in a Page Component with Multiple Widgets
53.Binary Tree Maximum Path Sum
54.Workflow Stages Separation
55.Badge Records Security System
56.Top K Largest Elements Variant
57.Degrees of Separation Between Businesses Algorithm
58.Discover Relationships Between Companies in Their Networks
59.Implement a Rate Limiter
60.API Rate Limiter Implementation
61.Scaling a Project
62.Find Factors and Primes
63.Reverse String Algorithm
64.Design and Implement Microservice APIs
65.Implement a Queue with a Given Size
1. Snake exit
 We have a two-dimensional board game involving snakes. The board has two types of squares on it: +’s represent impassable squares where snakes cannot go, and 0’s represent squares through which snakes can move.

Snakes may move in any of four directions - up, down, left, or right - one square at a time, but they will never return to a square that they’ve already visited. If a snake enters the board on an edge square, we want to catch it at a different exit square on the board’s edge.

The snake is familiar with the board and will take the route to the nearest reachable exit, in terms of the number of squares it has to move through to get there.

Write a function that takes a rectangular board with only +’s and 0’s, along with a starting point on the edge of the board (given row first, then column), and returns the coordinates of the nearest exit to which it can travel.

If multiple exits are equally close, give the one with the lowest numerical value for the row. If there is still a tie, give the one of those with the lowest numerical value for the column.

If there is no answer, output -1 -1

The board will be non-empty and rectangular. All values in the board will be either + or 0. All coordinates (input and output) are zero-based. All start positions will be 0, and be on the edge of the board. For example, (0,0) would be the top left corner of any size input.
2. Subdomain Visit Count
A website domain "discuss.leetcode.com" consists of various subdomains. At the top level, we have "com", at the next level, we have "leetcode.com" and at the lowest level, "discuss.leetcode.com". When we visit a domain like "discuss.leetcode.com", we will also visit the parent domains "leetcode.com" and "com" implicitly.

A count-paired domain is a domain that has one of the two formats "rep d1.d2.d3" or "rep d1.d2" where rep is the number of visits to the domain and d1.d2.d3 is the domain itself.

  • For example, "9001 discuss.leetcode.com" is a count-paired domain that indicates that discuss.leetcode.com was visited 9001 times.
Given an array of count-paired domains cpdomains, return an array of the count-paired domains of each subdomain in the input. You may return the answer in any order.

 

Example 1:

Input: cpdomains = ["9001 discuss.leetcode.com"]
Output: ["9001 leetcode.com","9001 discuss.leetcode.com","9001 com"]
Explanation: We only have one website domain: "discuss.leetcode.com".
As discussed above, the subdomain "leetcode.com" and "com" will also be visited. So they will all be visited 9001 times.

Example 2:

Input: cpdomains = ["900 google.mail.com", "50 yahoo.com", "1 intel.mail.com", "5 wiki.org"]
Output: ["901 mail.com","50 yahoo.com","900 google.mail.com","5 wiki.org","5 org","1 intel.mail.com","951 com"]
Explanation: We will visit "google.mail.com" 900 times, "yahoo.com" 50 times, "intel.mail.com" once and "wiki.org" 5 times.
For the subdomains, we will visit "mail.com" 900 + 1 = 901 times, "com" 900 + 50 + 1 = 951 times, and "org" 5 times.

 

Constraints:

  • 1 <= cpdomain.length <= 100
  • 1 <= cpdomain[i].length <= 100
  • cpdomain[i] follows either the "repi d1i.d2i.d3i" format or the "repi d1i.d2i" format.
  • repi is an integer in the range [1, 104].
  • d1i, d2i, and d3i consist of lowercase English letters.
3. Unique Email Addresses Count
Every valid email consists of a local name and a domain name, separated by the '@' sign. Besides lowercase letters, the email may contain one or more '.' or '+'.

  • For example, in "alice@leetcode.com", "alice" is the local name, and "leetcode.com" is the domain name.
If you add periods '.' between some characters in the local name part of an email address, mail sent there will be forwarded to the same address without dots in the local name. Note that this rule does not apply to domain names.

  • For example, "alice.z@leetcode.com" and "alicez@leetcode.com" forward to the same email address.
If you add a plus '+' in the local name, everything after the first plus sign will be ignored. This allows certain emails to be filtered. Note that this rule does not apply to domain names.

  • For example, "m.y+name@email.com" will be forwarded to "my@email.com".
It is possible to use both of these rules at the same time.

Given an array of strings emails where we send one email to each emails[i], return the number of different addresses that actually receive mails.

 

Example 1:

Input: emails = ["test.email+alex@leetcode.com","test.e.mail+bob.cathy@leetcode.com","testemail+david@lee.tcode.com"]
Output: 2
Explanation: "testemail@leetcode.com" and "testemail@lee.tcode.com" actually receive mails.

Example 2:

Input: emails = ["a@leetcode.com","b@leetcode.com","c@leetcode.com"]
Output: 3

 

Constraints:

  • 1 <= emails.length <= 100
  • 1 <= emails[i].length <= 100
  • emails[i] consist of lowercase English letters, '+', '.' and '@'.
  • Each emails[i] contains exactly one '@' character.
  • All local and domain names are non-empty.
  • Local names do not start with a '+' character.
  • Domain names end with the ".com" suffix.
4. Longest Substring Without Repeating Characters
Given a string s, find the length of the longest substring without repeating characters.

 

Example 1:

Input: s = "abcabcbb"
Output: 3
Explanation: The answer is "abc", with the length of 3.

Example 2:

Input: s = "bbbbb"
Output: 1
Explanation: The answer is "b", with the length of 1.

Example 3:

Input: s = "pwwkew"
Output: 3
Explanation: The answer is "wke", with the length of 3.
Notice that the answer must be a substring, "pwke" is a subsequence and not a substring.

 

Constraints:

  • 0 <= s.length <= 5 * 104
  • s consists of English letters, digits, symbols and spaces.
5. Spiral Matrix Traversal
Given an m x n matrix, return all elements of the matrix in spiral order.

 

Example 1:

Input: matrix = [[1,2,3],[4,5,6],[7,8,9]]
Output: [1,2,3,6,9,8,7,4,5]

Example 2:

Input: matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
Output: [1,2,3,4,8,12,11,10,9,5,6,7]

 

Constraints:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 10
  • -100 <= matrix[i][j] <= 100