I just picked up a show two days ago Citadel OA, Hackerrank platform, two coding questions, time limit 75 minutes. I finished writing two questions in about 10 minutes, and then I just checked and submitted them. I feel that 75 minutes is too conservative. Students who are unsure can also boldly ask about their OA/VO experience. The overall difficulty is on the easy side.

Question 1 (minimize server upgrade time)
Question description
There are two servers, and the time required for their respective upgrades is T1 Seconds and T2 Second. At every second, only one server is upgraded. Two servers will receive requests at specific points in time (the first at Req1 Multiple seconds, the second station is in Req2 Seconds) and the upgrade must be paused for the number of seconds the request is received.
Please calculate the minimum total time (in seconds) required to complete the upgrade of both servers.
Notice:
- At most one server is being upgraded at any time.
- There may be idle seconds when no servers are being upgraded.
Example:
Req1 = 2,T1 = 3Req2 = 3,T2 = 1- The first server is upgraded at 1, 3, and 5 seconds (neither is a multiple of 2), which takes 3 seconds; the second server is upgraded at 2 seconds (not a multiple of 3), which takes 1 second.
- Total time is 5 seconds.
Problem-solving ideas
The meaning of the question is to allocate the upgrade time of the two servers to a number of seconds, but there is an interval between upgrades of each server, and at most one upgrade can be performed in the same second. So obviously we can divide the time it takes for both servers to be upgraded in two, which is a two-part answer. Just check whether the number of seconds used for both servers in the current x seconds is enough, and then see whether the total available seconds can exactly cover t1 and t2.
Question 2 (effective size of memory block MEX)
Question description
Have N Memory block, no. I The size of the block is MemoryBlocks[i]. You can perform at most one operation: select an index X,Will MemoryBlocks[x] Plus 1 (provided that MemoryBlocks[x] < n-1).
After the operation, the array's MEX (minimum non-negative integer) is said to be an effective size. Please return all possible valid sizes, in ascending order.
Example:
N=3,MemoryBlock = [0, 3, 4]- When not operating, MEX is 1; when operating
X=0After that, the array becomes[1, 3, 4], MEX is 0. - All possible valid sizes are
[0, 1].
Problem-solving ideas
Count the number of times each number appears, and then scan it from left to right to maintain how many operations can be used currently. If the current number of numbers plus the remaining operands are not enough to make up this number, then forget about the following numbers. Finally, see what MEX values you can get, and just list them from small to large.
About Citadel and other major OA manufacturers
OA was really friendly this time. It took less than 10 minutes to write and debug the two questions and passed them. I feel like Citadel controlled the difficulty of OA relatively low this time, or maybe I was lucky enough to get the easy version. Students who have had the same experience are welcome to communicate ~ I will update if there is a next round of VO.
Also, if you are preparing for OA or written examinations at top quantitative/high-frequency companies such as Citadel, Jane Street, Two Sigma, and Hudson River Trading, and need reliable ghostwriting/packaging services, you can send me a private message. Programhelp offers professional OA writing service (HackerRank, Niuke.com, Codesignal and other platforms), supports remote control and traceless operations, ensuring that all test cases pass 100%, and no fee will be charged if they fail. The service covers the written examinations of many major manufacturers and has helped many students successfully pass OA.