-
Notifications
You must be signed in to change notification settings - Fork 13
Interview Experience 115
Round 1 - 45 minutes
Questions: 45 multiple choice questions Format: An online portal was designed for the MCQ test. The questions were from OS, DBMS, Networking, DS and algorithms, C/C++.
Round 2 (Coding round) - 2 hours
Question: We had to write down a program / script to create sync between two directories. The question had sub-parts -
- Copy all the files from the source folder which are not present in the destination folder. We need to maintain the same structure present in the src folder and copy the files recursively.
- We need to keep provision for a flag, which would remove all the files that were not present in the destination folder.
- Preserve the ownership and permissions of the files while copying from source to destination folder. Keep flags for ownership and permission separately.
- Print the difference that was copied in the files, i.e, lines added and lines removed.
They had seen the progress after 1 hour, if a student had completed the 1st and 2nd sub-problem, only those students were asked to continue for next 1 hour. Rest were asked to leave. We could use our own laptop using any IDE of our choice. We could use any language (C, C++, Java, Python, Ruby, PHP ,etc). Documentations were provided for each one of the languages mentioned. No internet access was provided.
Round 3 - PI
-
I was asked about my GSOC project. (it involved MVC, Social Auth, Database, etc.)
-
Explain OAuth2 workflow.
-
Explain why access token is not sent at step 3
-
Once the authorization is done, we do not need to enter the password every time we open a new page. How does the browser authenticate these future requests? Ans. Session
-
How session works? Ans. Cookie
-
With every request browser sends something to the server or not? Ans. Cookie - sessionid
-
If we do not allow the browser to store anything then how can we do this authentication? Ans. Yes, use DOM/URL to store token
-
If your web app has to handle millions of users what problem you are going to face first and how would you solve it first. Ans.If we rank computer components according to speed:
- CPU (registers) - fastest
- Cache
- Primary Memory
- Network
- Disk - slowest
So we need to avoid the disk first. Then we need to optimize the network
-
How to avoid the disk. Ans. Cache - memcache, redis, cache the frequently used data and static assets that are always used.
-
How update the cache? (cache replacement policy) Ans. LRU
-
How to update the cache when developers make changes.
-
What would be the first step to avoid network bottleneck. Ans. Load balancers
