Вы находитесь на странице: 1из 10

Anirvana's Blog

all secrets revealed!!!

My first Job, yahooooooooooooooooooo!


Posted on October 28, 2010 by anirvana11

27th october 2010(yesterday), the most remarkable day if my whole life, I got my first Job and guess the
recruiter….well its Yahooooooooooooooo! I am loving it.
I woke up a bit earlier yesterday, got ready and reached TnP sharp at 9 am, shockingly the Pre Placement talk
started at its scheduled time(which is generally rare). It was a great talk, we really got to know how big the brand
Yahoo is and how cool the environment at Yahoo is. PPT continued for alomost 1 hr then we all were moved to
auditorium for the written test. I was pretty much nervous, as my performance in the past written tests doesn’t
worth mentioning.
WRitten test consisted of 25 MCQs with 5 options in each question, there were questions from topics like
multithreading, Processes,Algorithms complexity, data structures, Counting etc. The paper was entirely based
upon the fundamentals. If you have done fundamentals well, you’ll clear it. 20 people were shortlisted for the
coding round.
COding round, We were given the problem of implementing the unix utility ‘grep’ I didn’t really do good in that
round but still I was through
Overall 7/20 could clear the coding round.
FIrst interview, This interview went quite well, my interviewer was from DCE itself, so I got the benefit I guess,
He was basically checking my fundamentals, he asked me to improve the best case performance of bubble sort,
then a good discussion on quick sort, one quick puzzle, a lengthy discussion on my GSoC project and some
fundas of web development(dcetech.com)
SEcond interview, This interview was a disaster, My interviewer was the most senior member of the Yahoo team
and threw a lot of good questions, I didn’t actually answered them very well, but still I was through .They
really liked me
Only 3 people were called for the 3rd interview, It was basically based on though processing, He asked me
problem which is under active research and I has a good discussion with my interviewer, It was really fun.Again I
was asked about the GSoC project(the work I did for Mozilla) and then my language preferences.
Next was the HR interview, It was just a really casual talk and I enjoyed it thoroughly.
Finally we all were asked to wait for sometime.
Then HR came and announced the result, My heart was throbbing and mind full of contradictory thoughts…….
yes,yes I was jumping after I heard the result, I finally made it.
and best part is that the profile I am being offered is Software Engineer(Engineering Production) which is
entirely development(no QA )
Congrats to my fellow Yahoo selectees Akhil and Mukesh! Hope to have a nice time at Yahoo!!
Tomorrow(29th October) is my birthday and I could have never imagined a better gift

Posted in Life | Leave a comment

Removing duplicate words from a sentence in linear time.


Posted on August 30, 2010 by anirvana11

I was asked this question during the microsoft interview during the on-campus recruitment process.I am
presenting an algorithm and its c++ implementation.The algorithm requires o(n) time and o(n) space in worst
case and it involves hashing.

1
Following are the steps involved:

1. Find the hash value of each word in the sentence which is the word iteslf!, so the key for hash map can be the
word itself.
2. Now start traversing the sentence word by word and check if the hash value of ith word exists in the hash
table created in step 2, If yes do nothing else push the word in a queue.
3. Pop all the elements of the queue.

C++ Implementation:

#include<iostream>
using namespace std;
#include<conio.h>
#include <map>
#include <string>
#include<math.h>
#include <list>
#include <queue>

int main()

map<string, int> freq;


map<string, long int> unique;
char sent[100];
char esent[20][10];
string es[10];
gets(sent);
int len = strlen(sent);
int j=0,k=0,flag=0;
//The code below explodes a string into words
for(int i=0;i<len;i++)
{
if(sent[i] != ‘ ‘)
{
esent[k][j]=sent[i];
j++;
flag=0;
}
else
{
esent[k][j]=”;
if(!flag){
k++;
flag=1;
}
j=0;
}

2
esent[k][j]=”;
}

queue<string> q;
int temp=0;
while (temp<=k) {
int p=0;
if(unique[esent[temp]] == 0)
{
q.push(esent[temp]);//pushing the unique words in a queue
unique[esent[temp]]=1;//implying that the word has just occured
}
temp++;
}

while(!q.empty())
{
cout<<q.front()<<” “;
q.pop();//pop the whole queue
}
getch();
}

Posted in Algos | 3 Comments

Algorithm to remove duplicates from a sorted array


Posted on July 30, 2010 by anirvana11

int unique(int *array, int number) //sorted array


{
int k = 0;
for (int i = 1; i < n; i++) {
if (a[k] != a[i]) { //comparing the first 2 unequal numbers
a[k+1] = a[i]; //shifting to the left if distinct
k++;
}
}
return (k+1); //return the last index of new array i.e. the number of distinct elements
}

Posted in Algos | Leave a comment

Algo to find duplicates in an array having elements in the range [1,n]


Posted on July 30, 2010 by anirvana11

Algorithm 1

input[n] //input array of size n, containing n numbers

int output[n]; // Supporting array for our algo, initialized to 0


for(int i=0;i<n;i++)

3
output[input[i]]++; //using elements of input array as index to create the o/p array

for(int i=0;i<n;i++)
{
if(output[i]==0) // If the ith element is zero, it means i wasn’t present in input array

cout<<i; // display i
}

Algorithm 2 << My favourite :)

traverse the list for i= 1st to n+2 elements


{
check for sign of A[abs(A[i])] ;
if positive then
make it negative by A[abs(A[i])]=-A[abs(A[i])];
else // i.e., A[abs(A[i])] is negative
this element (ith element of list) is a repetition
}

Reversing a singly linked list : Useful methods


Posted on July 26, 2010 by anirvana11

Hi,
Yesterday I was thinking of different ways to reverse a linked list.Here are the best ones I worked on:

Assume the following structure definition:


struct llist
{
int data;
llist *next;
};

3 Pointer method(with decomposition):


llist * reverselist_3p(llist * start)
{
llist * current = start; //Pointer 1: To store the current node
llist * nexttocurrent = NULL; //Pointer 2: To store the node next to current
llist * temp = NULL; //Pointer 3: To temporarily store node just detached from the main list, so that we
can assign it to the ‘current’ in the next iteration
while(current!=NULL)
{
nexttocurrent = current->next;

current->next = temp;
temp = current;

current = nexttocurrent;
}

4
return temp;
}

3 Pointer method(without decomposition):


llist * reverselist_2p(llist * start)
{
llist * back = NULL; //Pointer 1: To store the back node
llist * middle = start; //Pointer 2: Middle node
llist * front = middle->next; //Pointer 3: Front node
while(front!=NULL)
{
middle->next = back;
back = middle;
middle = front;
front = front->next;
}
middle->next=back;
return middle;
}

2-3 Pointer method (A beautiful Recursion) : # My favorite


llist * reverselist_re(llist * start)
{
if(start==NULL)
return NULL;
llist * first = start;
llist * rest = first->next;
if(rest==NULL)
return first;

start=reverselist_re(rest); //you may argue that start is the 3rd pointer

first->next->next = first;
first->next = NULL;

return start;
}

If you like this post, please post you valuable comments.

Posted in Algos | Leave a comment

Now Head, Web Management and Development, IEEE-DCE Student council


Posted on July 24, 2010 by anirvana11

I am very glad today , I have been given the post of Head, Web Management and Development in my
university branch of IEEE.I have been working for IEEE for nearly the last 2 years and today I feel extremely
happy yet a bit emotional.
I remember the days when I was in first year at college, the only vibrant thing that I observed in my college was
IEEE. Amazing workshops, amazing people and amazing skills. I always used to idolize my IEEE seniors then.

5
Today I have become one of them.I hope I live upto the expectations of so many people.
Thanks to God for everything

Posted in Life | Leave a comment

Software Review: Aptana Studio 2.0


Posted on July 14, 2010 by anirvana11

Aptana Loader

This is my first software review, so forgive me if you do not find it useful.I am just presenting my experience with
this software.I am going to start with this excellent web IDE Aptana Studio.

Features: I was totally flattened by the language support this software offers.It has inbuilt support for the
following technologies:

Eclipse
Python
Ruby on Rails
XUL Runner
Javascript

The inbuilt Plugin has lot more to offer, just try it yourself!!

Graphics: This software has got amazing graphics support. From the way this Aptana loads to the colour coding
everything just looks so awesome and subtle.The green and blue combination of colours is so
eye-friendly.Overall its GUI looks very cool.

A screenshot of the worksheet

Speed: It has got a good speed too.I was totally satisfied.Both the loading and unloading time are small.

6
Price: Free of cost

Size: Nearly 90 mb

It has got no inbuilt WYSIWYG but there is an option to merge it with the dreamweaver too.

Overall rating : 4 out of 5 stars * * * *

Posted in Reviews | Tagged Reviews | Leave a comment

Now editor at XRDS!


Posted on June 3, 2010 by anirvana11

Almost 10 days ago I got a mail from Jill asking about my details and a picture for the about the author page on
the new ACM Crossroads website.I was just overwhelmed by this, My details are located at http://xrds.acm.org
/aboutus.cfm and I am responsible for contests and events.
Currently there are 20 editors in the XRDS team all belonging to top class universities of the world like
MIT,CMU and UCB.Invariably all the PhD scholars.I am the youngest editor in the team and the only undergrad
dude in the team :B .
Way back in january this year I applied for this postion, then Jill called me up for a meeting(interview), later on I
was given assignment to write about the top research labs(though I never got a feedback from Jill about that
article).Meanwhile I was helping for the web management of the new XRDS website too.I really feel proud when
I see myself placed in a team of such capable and world class students.
Thank you very much god for everything!

Posted in Life | Leave a comment

My gsoc acceptance letters :)


Posted on May 9, 2010 by anirvana11

1.This one is from Google

Dear anirvana,

Congratulations! Your proposal “Developing Hooks / stubs mechanisms for Mozilla Lightning and Improve
event/tasks alarms support” as submitted to “Mozilla” has been accepted for Google Summer of Code 2010. Over
the next few days, we will add you to the private Google Summer of Code Student Discussion List. Over the next
few weeks, we will send instructions to this list regarding turn in proof of enrollment, tax forms, etc.

Now that you’ve been accepted, please take the opportunity to speak with your mentors about plans for the
Community Bonding Period: what documentation should you be reading, what version control system will you
need to set up, etc., before start of coding begins on May 24th.

Welcome to Google Summer of Code 2010! We look forward to having you with us.

With best regards,


The Google Summer of Code Program Administration Team

2. This is from Mozilla

Dear Mozilla SoC student,

7
Congratulations! Your proposal has been accepted as one of the thirteen Mozilla Project projects for the Google
Summer of Code 2010. You should be pleased; the competition this year was strong. I’m sure you won’t let us
down

Regular good communication between student and mentor is key to making SoC a success. Your mentor should
be in touch soon to introduce themselves. As you may know, Chris and I are the overall program administrators.
If you have any problems with your relationship with your mentor, do contact us. (If one of us is your mentor,
contact the other one This is what we are here for. Don’t suffer in silence.

Once coding starts, we require you to write weekly status reports, so we and the rest of the project can see how
you are doing. You can put these on your blog, or in wiki.mozilla.org, or anywhere else you like that’s public and
where we can read them. Do let us know where you are putting them.

Best of luck

Gerv and Chris


gerv@mozilla.org
chofmann@mozilla.com

Posted in Uncategorized | Leave a comment

Road to GSoC
Posted on May 4, 2010 by anirvana11

The Hunt for an internship began way back in August 2009, when Deloitte cam to my college for internship.
There was some force which was stopping me to appear for it, but still I appeared for the test and as expected
failed to make it. Many of my great friends got selected

Next was Schlumberger, Its visit was much of a surprise for me and knowing the fact that it offers a hefty
package of 40lpa I was very much excited. Again I appeared for it, Fortunately my CV was shortlisted for the next
round i.e group discussion.Their CV selection criteria was kind of faulty as many of my friends with even better
CVs could get selected for the GD,Probably they only needed the lucky guys which I was at that point of time.
And again as expected, I was thrown out of after the GD, I kinda messed up in the GD.I still laugh when I
remember the points I put in the GD after reaching late .

By now my confidence was totally annihilated, and in the meantime I read a post on www.dcetech.com about
Google Summer of Code(Thanks to Nipun).I tried to inquire about it, but most of things went over my head.I
choose to stay dormant as my end-sem exams were in the offing.

At the same time I was talking to Paritosh Sir regarding the work he did for Mozilla.As guided by him, I landed
up to mozilla education channel and tried to interact with people over there.There I met David Humphrey, he
was hell of a helpful guy,He told me how to go about the development in the Mozilla community.Then I picked
up a student project (making a natural language Parser) and discussed it with people at #education. One day
Humph introduced me to Philipp, the head of calendar Project at Mozilla. After discussing much of this project
with him, he finally assigned it to me.Now I was officially taking care of a bug and I was supposed to be
working on it in December.

Immediately after the exams I got the news that Microsoft was coming for internships, I was ecstatic about it.It
was like a dream company to me. I thought I would prepare a lot for it, but indeed didn’t prepared much(I
realized it after the company went back empty handed).Fortunately I cleared the written test and I was through
to the interview round, Then cleared 2 interview rounds as well and was through to the final HR interview

8
round. But as someone great had said “you always get what is destined to you”.After having a great HR interview,
I wasn’t selected . Shockingly nobody was selected from my college.MS guys said that their positions have
been filled!
Perhaps something bigger was waiting for me, That’s how I consoled myself.

It was already 15th December and my progress was zero in the NLP project.Meanwhile I interacted with PHP
guys as well.Christopher@Oracle tried to help me a lot but I didn’t like the code at PHP thus let the opportunity
go away and I preferred to focus at Mozilla only.One day Paritosh Sir suggested me “What about using the work
at Mozilla to apply for GSoC”. “I thought: Great Idea “.Thus I started taking Mozilla work more seriously.

I started with pulling the sunbird and lighting source code but my internet turned out to be the real problem, I
was using the aircel internet(98rs/month) and maximum attainable download speed was 3kbps.But I never
knew that repositories are 1gb big and I need a better speed.Thus I continued to try pulling the source at this
connection, and as expected I never succeeded in it. By now I was sick of failures and I decided to upgrade my
internet connection to 256kbps(the best you could get at Bawana), Thanks to my college wifi which never
worked(moreover https and IRC were blocked ).Now I had a good internet connection and I succeeded in
pulling the source code but whenever I tried to build the source my Dell laptop used to shut down, Now this was
a disaster, I tried many times but it shut down as many times :’( . Finally I consulted Philipp and one by one he
solved all my problem, He was a real genius and as directed by him I got my laptop fan repaired and got
everything working.Now I had the build environment and I was all set to start developing. Full credit goes to
Philipp

I practically did nothing in January and February as troika(our techfest) was close and I was in-charge for its
website and web app for the MIST. It was late February when I realized I had done nothing for the Mozilla and I
should fix some simple bugs if I can’t readily work on the NLP bug. Again I talked to philipp and got a simple
timezone bug assigned to me.I submitted my first patch in mid-March but my patch got rejected 4 times because
of poor indentation.Fortunately I got an r+ on 21st March.Now GSoC application period was damn close and I
wanted to discuss my idea with the community.My first choice was to resume work on NLP bug but Phillip
suggested that there might not be a mentor for this bug, and he wouldn’t be mentoring this summer of code due
to lack of time. It was a big blow for me as he was the only person I knew in the Mozilla at that time.Moreover I
was short of ideas.Again I asked Philipp to suggest some ideas.Finally I decided to work on import/export and
started studying on it.I read many RFCs about it and investigated about the bugs from the bugzilla and finally
came up with a solid idea.My idea wasn’t moved to potential ideas pages .Then I choose an idea from the
potential ideas page and made a proposal on it.Since my midsems were to start from 29th March I didn’t had
much time to work on it.On 27th I was discussing my GSoC idea with Philipp and he suggested that Ludovic
would be mentoring a project from calendar team and It would be related to hooks/stubs mechanism and alarm
support.And I was shocked to see that the idea I was working on was removed from the potential ideas page and
it was replaced by hooks/stubs idea.Now what to do?

I was stunned, no idea about the gsoc proposal, Midsems to start in 2 days.I felt defeated from inside.I though
everything is over.And it is no more possible to make it to the top 1000 students in the World.But again Phillip
was there to help me.He suggested me how to go about it and assured me that I have enough time and I can read
about it and come up with more details.But my midsems were the biggest hurdle.But…..Perhaps God wanted me
to succeed.Fortunately my midsems got cancelled and I got more time to study about the GSoC idea. Now I read
enormous code and discussed it with Phillip and Ludovic and finally came up with a solid idea .I submitted my
proposal on 4th april.

Ludovic gave a review a on my idea on 9th april, 15 minutes before the application period was getting closed.He
said “You are rightly oriented,Even the Wolfgang thinks you havr understood the idea well.I think we’ll move

9
forward”.I was overwhelmed .Happy Happy Super Happy…… Bingoo!

Now I was waiting desperately for the result.The only thing which could diminish my chances was the lack of
slots.2 days before the GSoC result, I talked with Gerv about the number of slots Mozilla had.He said 15.That was
awesome.Now I was pretty sure about my selection.I waited till the 26th April and at 00:15 I got a mail from
google regarding my selection at Mozilla.I was super duper happy . I would be Working on my dream project
this summer.

The goal behind this project is to add extension points to Lightning to facilitate extension developers that would
like to provide tight integration between Lightning and their groupware of choice. For example, extension points
could be defined to allow full access control list (ACL) support in Lightning. The proper read, write, modify (and
others) checks would be done in Lightning but the results of those would come from an extension providing the
right responses based on input criteria. Other stubs could be defined for handling various integration aspects,
like calendar names, colors, calendars creation/deletion, delegation, subscriptions using a server-side search
operations and so on. The SOGo Integrator and Connector extensions are good examples of what extension
points were needed when developing those extensions.
I would also be working on Alarms.There need to be some improvement in the current Alarm implementation
specifically for remote or shared Alarms.

Both are purely development project and I am really excited about them.
But I missed the chance to attend the Mozilla summit I am sad about it.Perhaps something bigger is waiting
for me

Posted in Life | Leave a comment

Anirvana's Blog
Blog at WordPress.com.

10