1. What is the use of thread.join()?
2. Given a sorted array of integers nums and an integer target, write a function to search target in nums. If the target exists, then return its index. Otherwise, return -1. You must write an algorithm with O(log n) runtime complexity.
3. How does ALB work?
4. What is a test case?
5. Explain how you would apply SOLID principles to design a calculator.