Tip 1 : Good at coding (solving, explaining), especially Dynamic Programming questions like knapsack. Focus 70% time on coding
Tip 2 : Apply to jobs through referral not on company site. Very important.
Tip 3 : Prepare good projects with how to explain in interview.
Tip 4 : Sound very energetic, competitive and some one with eager to learn, so they select you thinking you can be taught things as you have good attitude.
Remember : Good attitude in good coder > Bad attitude in expert coder.
Tip 1 : Max three, projects, which are interesting to talk about, and you have won something for it.
Tip 2 : Leave lot of white space, keep content small and in one page
Time - afternoon.
Interviewer jumped straight into interview, formal and comfortable environment.
1. Interviewer introduction
2. Interviewee introduction
3. Coding question 1 - difficulty medium, topic - arrays
- explain approach, write code (pseudo code is fine), dry run on given TCS.
4. Coding question 2 - same as above, only question was different. Slightly more difficult but on arrays only.
5. Questions on Python & Django - difficulty medium - write code related to queryset on django objects
6. SQL question to code - 10th highest salary.



Key idea - 2 pointer method
Approach - place one pointer p1 on start, 2nd pointer p2 on end. Move p1 to right and p2 to left unless we find a non special character for both, if found for both, swap the values pointed by p1 and p2.
Steps :
S1 : Pointer p1 at start and p2 at end index
S2 : while p1! = p2 and arr[p1] is special character, move p1 to right
S3 : while p1! = p2 and arr[p2] is special character, move p2 to left
S4 : Swap values pointed by index p1 and p2.
S5 : Follow above steps until p1 < p2.



For the given arr[ ] = { -1, 3, 5, 0, -2, -5 }
arr[ ] = {3, -1, 5, -2, 0, -5 } is valid rearrangement.
arr[ ] = {3, -1, 0, -2, 5, -5 } is invalid rearrangement; order of 0 and 5 is changed.
arr[ ] = {3, -1, 5, 0, -2, -5 } is invalid rearrangement; positive and negative elements are not alternative.
Make changes in the same array and no returning or printing is needed.
Consider zero(0) as a positive element for this question.
It is guaranteed that an answer always exists.
Key idea: Find suitable number for current position on right and swap
Approach : if current idx is even find +ve number on right and if idx is odd find -ve number on right and swap with current position
S1 : Iterate over the array
S2 : If current index is even find next positive number on right
S3 : If current index is odd find the next negative number on right
S4 : Swap with the current position with found number
1. Intro of interviewer
2. Intro of interviewee
3. Questions on Python - decorators, static method, class methods
4. Principal of coding, best practices
5. Question on DB - What is indexing, how to improve, best use of indexing.
6. Questions on django - what is django ORM, What is sandbox, Django models, Django queries.
7. Previous job, what do you do, stack you work on.
Very friendly environment, very pleasing person, loved it.
What is database indexing?
What is distributed system?
What is hashing?
How is hashing done?
Why time complexity of hashing is O(1)
Tip 1 : Prepare common interview questions of dbms, OS, SQL, CN
Tip 2 : Prepare how is time complexity calculated
Tip 3 : Know basic terminology of system design

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
What is recursion?