Recently, many of my friends are rushing for IBM's school recruitment, and it is common to encounter a round of OA. As a traditional IT giant IBM OA does not take the route of extreme algorithmic problems, but prefers to combine logical reasoning, programming practice and scenario questions, and the overall difficulty is medium to high. Compared to companies that only test pure algorithms, IBM's OA places more emphasis on the overall quality of the candidate, such as problem-solving ability, logical thinking, code readability, and the ability to apply in business scenarios.
This round of OA is basically a must for all candidates, and the performance directly determines whether they can enter the interview or not, so this part of the preparation is very critical.
IBM OA Process Overview
IBM OA is typically triggered about one to two weeks after application and is conducted through a third-party assessment platform with the following general format and question types:
- Coding section: 2 programming questions, 60 minutes in length. The difficulty of the questions is between LeetCode Easy ~ Medium, but often packaged with business scenarios.
- Logic & MathThe test is similar in style to the GMAT: 10 or so questions on numerical reasoning and recognition of logical patterns.
- Situational Judgment (SJT): Giving work scenarios and asking you to choose the most appropriate and least appropriate approach, the candidates are examined for their alignment with IBM's values and teamwork.
- timingThe total length of the program is between 90 and 100 minutes.
OA Question Recall + Solutions
Question 1.
Problem.
You are given an array of integers. Find the length of the longest contiguous subarray where the sum is divisible by k.
Solution Approach.
- Use prefix sum + hashmap to store remainders.
- If the same remainder occurs again, the subarray between these indices is divisible by
k. - Update the maximum length accordingly.
Code (Python).
def longestSubarrayDivByK(nums, k):
remainder_map = {0: -1}
prefix_sum = 0
max_len = 0
for i, num in enumerate(nums):: prefix_sum += num
prefix_sum += num
remainder = prefix_sum % k
if remainder in remainder_map: max_len = max(max_len, i - remainder_map[k
max_len = max(max_len, i - remainder_map[remainder])
else.
remainder_map[remainder] = i
return max_len
Question 2.
Problem.
Given a string, check whether it can be rearranged to form a palindrome.
Solution Approach.
- Count the frequency of each character.
- A string can form a palindrome if at most one character has an odd frequency.
Code (Python).
from collections import Counter
def canFormPalindrome(s):
freq = Counter(s)
odd_count = sum(1 for count in freq.values() if count % 2 ! = 0)
return odd_count <= 1
caveat
- Programming questions focus on clarity of thought: IBM does not necessarily require you to write optimal solutions, but code style and interpretive thinking are very important.
- Logic questions should be timed: Many people tend to get stuck for too long on series reasoning, and actually skip it in time if they can't do it.
- Situational judgment questions should be in line with corporate cultureIBM focuses on cooperation, communication and accountability, and tries to avoid the "go it alone" or "pass the buck" options.
- simulated environment: The interface of the exam is relatively simple, without fancy IDE functions, and it is recommended to practice in LeetCode, HackerRank and other platforms in advance to get used to it.
The distance between you and the offer is only one assist.
On the whole, IBM's OA is not particularly tricky, but the amount of questions and time pressure will make people get stuck easily. Especially the coding part, many students may have the idea, but debugging is not timely, it is easy to lose points. I really want to recommend Programhelp OA remote assist, our team provides the service of untraceable voice reminder and online assist, so that when you are stuck in the point, someone timely point to wake up, so as not to waste valuable time. Many students rely on this instant reminder to directly take OA or even subsequent VO.
If you are also preparing for written tests/interviews for IBM or other big companies recently, you may want to learn more about our services and be much more efficient with fewer detours.