# PayPal实习

Status: New grad, MS CS Top 50 CS school
Position: SDE Internship
Location: San Jose, California
Most of interviewers at PayPal prefer if you specifically code in Java
1st Phone Screen Round - 45 mins
First 5 mins general talk on Resume and projects.

Design HashMap in Java: Interviewer specifically wanted it to be for all generic datatypes
get(key)
put(key,value)
remove(key)

I gave a general approach of chaining during collisions. He asked me to code all three functions.
Follow up Questions: Can you think better approach than chaining which uses Linked List to store collisions. I explained him Binary Search Tree approach. Pros and Cons.

After clearing this round, recruiter asked time slot for 3 back to back rounds.

Three rounds
1st Round

Started directly with Java Questions:

1. Static Keyword in Java and give a scenario when you would use Static
2. Explain any design pattern you know
3. Racing Condition in Multi threading and how would you solve it.
1st Question
Specifically asked to code in Java, as She wanted to check the concept list reference and list intiliazation at each level.

Given an Integer N, give the result in following format.
Eg: 4
[[1],
[1,2],
[1,2,3],
[1,2,3,4]]
2nd Question

Given a rotated sorted array, find the Minimum value in the array.
[4,5,6,0,1,2,3] return 0
https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/

2nd Round
Interviewer asked to specifically code in Java
1st Question

Code a function which gives SquareRoot of Double values, without using any inbuilt function, result should be correct upto two decimal values.
Input : 0.3845, 7.987,…
He specifically told, cannot use any inbuilt API fucntions, even for converting Double upto 2 decimals, had to write own function.
https://leetcode.com/problems/sqrtx/

3rd Round
This interviewer was fine if I code in Python, so I choose to code in Python.

1st Question

Find if there exists a path from source to destination in a boolean matrix.
0 - Walls, 1 - Gates
[[1,0,1],
[1,0,1],
[1,1,1]]
src: [0,0] dest:[2,2] return true

2nd Question

Rotated Sorted Array : [4,5,6,7,1,2,3]
Find the position of target element. If target doesnt exist return -1
https://leetcode.com/problems/search-in-rotated-sorted-array/

Recieved Offer within a week.