Wednesday, September 5, 2012

getting a job

This had to go on my blog! The gist of it all: i got a job with Oracle Corps. as an app dev. Its been a month, actually more than a month since i got placed. And the overall experience was really nice. Even now that i look back at that day, i feel as if it were one of the happiest moments i can recall, the only thing which comes close enough is the time when i had received my AIEEE result some 3 years back.

So the Oracle story began during the summer holidays, when the news of oracle visiting our campus for recruitment was confirmed. I did start my preparations, made a list of topics to be brushed: ds, algo, c, c++, OS, dbms and mysql. By the time the first round: an online test came round the corner, i was almost ready.

Round1: Online test

The first round was a common online test (as in common to all appearing for a job with Oracle), which consisted of 4 sections: a english section (which was the easiest), an aptitude section, a basic computer knowledge section and an advanced computer knowledge section. The later two where based on primarily data structures, in my case trees. This round went pretty pathetic. I was sad, and i gave up all hope. I didn't even prepare for further rounds.

A couple of days later, i found myself outside the auditorium 8 o' clock in the morning.

After the pre-placement talk (which i didn't listen to with much interest as i knew i wouldn't get through) the results were put up on notice board. Surprisingly they had selected a huge number of students (not all, but everyone i can recall). I was happy, just the fact that i hadn't prepared for interviews was worrying me. But this was the first time i was appearing for any interview ever, i didn't have much expectations, the only thing that i wanted at that point of time was to get through the first round so that the shame of not having cleared any round would not fall on me. A form asking for preference branch to join was given. I filled them in the order of apps dev > server tech > ofss.

Later that noon, i was sitting with another 33 candidates in the waiting hall for my turn to appear for the interview. And the interviewer or sometimes one of the placement coordinator would come to the hall, call out a couple of names and take them in for interviews. As time passed fear started getting the better of me.
The candidates who went for interviews, either returned or were held back, i didn't know what was going on.

As far as i knew, there should have been 2 rounds : a technical followed by a HR.
at around 3 o' clock or so, i was called for interview.

Round 2: Technical round : part 1

I knew that the first round was a tech round, and i had faith that i was technically strong, so i went in the room settled down, and the first question fired at me was "write a program to sort n numbers". And i was like "wow, thats easy!", so i started with quick sort, but i was scared to death, i could not recall the algorithm and how to code it, so i thought "lets go for merge sort, its got a nice time complexity of O(n log n) also it is easy to write", my hands were still not working, the more time i sat still, the more fear started getting the better of me. In the end i ended up coding the selection sort. The interviewer inquired "what have you got there" and i said "sir, this is selection sort" . "It has time complexity of order of n square irrespective of arrangement of elements in the array" i added.  I knew i am done for, "Selection sort? what the **** of all the sorting algorithms all i could think of was selection sort, i am done for!" i thought. But that wasn't the end, the next question was one on stack: "using a minimum number of stacks, sort the contents of a stack", i was cool now, given that i wasn't thrown out after my first solution, so i developed an algorithm to sort it using 2 stacks, then a question on tower of hanoi was asked, got that one the last question was one from maths, didn't get that one. The interviewer asked me to go outside and wait. And so i did...

Round 3: Technical round: part 2

So i thought to myself "yea, i already knew i am technically strong, got through the tech round, the next is HR, and i know my way around words, i'll get through! even if i don't i have achieved my primary objective of getting through the 1st round". But soon i realized that the next round was not HR but another technical round, i still had confidence, this time entered the room with confidence, some 3 -4 questions on coding, programming languages some logical reasoning and a maths question were asked answered all but the last one, which was on maths. Following the same protocol i was asked to wait outside once more, i knew i was through this one. Now i had a burning desire to get through all the rounds and grab this job for myself. I could see my friends some waiting with me, some returning back. The same thought of easily getting through the HR crossed my mind, and the same fact that more tech rounds are to be tackled
came to my notice.

Round 4: Technical round: part 3

This was like an aptitude/mind bender/HR round, no coding was asked in this round but a couple of mind benders and some aptitude questions were asked, also typical questions like "which is your dream company", "why apps dev and why not server tech" "do you have any intentions of going for higher studies" etc where asked, i hadn't prepared (which, i think rather helped me) so i gave no witty answers, just whatever came to my mind. Finally the interviewer asked me to follow one of the other interviewers for the HR round. My heart totally elated, i felt like i was almost through. So i happily followed, hardly holding back my grin.

Round 5: HR

This was too easy (after all those tech rounds), the interviewer just wanted to make sure that i was interested in the job and didn't have any attitude problem etc (which i didn't and don't have :) ) after this round i was asked to wait outside, and so i did.

The result

The results were declared at around 11 pm in the night, not having ate anything all day and having been on my toes all day, i was tired and feeling senseless, but when my name was called out as one of the selected candidates (and the first name to be called out that night) i didn't know how to respond, to be myself and shout out of happiness or to be the formal being shake hands smile and say thank you to all those who where greeting me. Chose the second way.  It took many days for the happiness to sink in. And as i stated in the beginning, it still makes me happy.

Sunday, May 20, 2012

blog: reloaded

Its been over a year since I posted on my blog. That kind of makes me ... umm sorry for myself. Life had been dull, didn't do much so didn't have anything to say.Now my pre-final years are finally over, when I return to my collage, I would have become a final year student.YES! Today i feel like talking about my internship here at ITR, DRDO Chandipur, Orissa.

I was assigned work at Data Processing Division at ITR. The first impression of everything about DRDO was good, in fact good cannot describe the awesomeness of it all. So DPD is located at the control center building and there is this real life sized agni model erected right in-front of the entrance. The central computer is located in a picturesque lab with this really nice video wall and server-chains below it (nonetheless i was assigned a computer in the mission control room, which happens to be equally cool).

About my work: this is the interesting part. I was assigned to develop an app which would display incoming data from data acquisition system on the central server, as a result i had to learn Qt - a GUI framework based on C++ . New technologies always make me happy. So as  of now i am 2 weeks into my internship, working on this display application. Hope by the end of it I would have learnt a lot.  

Monday, January 17, 2011

console game on my window!!!!

How nice would it be if you could play other console games on your computer?
I just found out this cool new (actually not so new) piece of application they termed as emulators!!!

 With emulators you can play all your favorite games on your pc.
All you need to do is
1. head to one of these sites :
2. install the emulator to the gaming console whose game you want to play
3. get some games to play from:
4. load your rom in your emulator

Enjoy!!!!

Sunday, January 16, 2011

Programming language : my take

Its been a while since i first started programming, and it has grown to become a part of me lately.
So i decided to ponder on one of the very basic questions: what is a programming language?

the answer that first comes to my mind is that it is a language used to program.

making a note to myself, lets take a closer look at the two terms : 'program' & 'language'.

Program
In computer science,a program is a set of instructions, used to get a desired result form our beloved computer.While it is certainly not limited to computers(various types of ics - microprocessors, microcontrollers, and various embedded systems are programmed) , but i haven't yet worked on anything other than computers . a program may or may not accept input from user, and may or may not print the output.

Language
A language, simply put, is a social construct used for communication. For two people to communicate, they need a common language.Amongst the many languages that humans converse in, English is a popular alternative.For computers, its the binary number system, 0 or 1.

Thus when we say a 'programming language' we mean a language, which would be common to both the humans and the machine. The very reason for developing a programming language is the incompatibility of language between we humans and the computers(can you talk binary? i can't).

Depending on the type of language we chose to use, the knowledge of the way our system works required varies, low level language requiring the most, and high level language requiring the least.

So what's more to it?

As in real world, one language is never better than the other. All the languages which were developed have there own uses. Thus a certain objective may be easily attained using a language more suited for that purpose, but for a different objective a different language might prove to be better.I have heard a lot  about these languages in particular:

  1. C : This was developed by Dennis Ritchie for the UNIX operating system, later standardized to the present form by ANSI. This language is a mid level language and is an all rounder, all sorts of programs ranging to simple console programs to windowed applications, networking, device drivers , operating systems and so on are written in it.
  2. C++: This is a superset of C. Apart from the features of C, it uses object oriented programming concepts, thus facilitating us with the ability to write larger programs than C.
  3. Java: This is a language of the net(i.e. internet). It provides many options for security, thus empowering programmers to write programs which can be run on websites, without having to worry about security concerns of the end user thanks to It's strictly object oriented nature. Also Java runs on its own platform, thus leading to platform independence.
  4. Perl: It is a server-sided programming language, which is capable of easily handling large amount of text through CGI programs.It is widely used to write web sever programs.
  5. Ruby: An open-source language, its main focus is on simplicity with reliability.
  6. Python: Another open-source language. It main features are reduced syntax, and a great deal of reduced effort as far as writing languages is concerned.
i do mean to learn all these ^^^ languages at some point of time in the future, some i already know, some i don't.

i hope you guys found this little post interesting..