Wednesday, July 20, 2005

The deaf interviewer

So I have been looking for jobs recently. Satisfactory successes in few interviews
where things couldn't be materliazed because of HR issues than technical and bad
experiences with few others. Here is a scriptlet from one of the interviews I
attended which didn't turn out good. Someone had forwarded my resume for a
product support position.

I'er : So tell me about yourself
I'ee : blah blah blah
I'er : Good.
Transferred me to another so called the "technical guy".

II I'er : So have you worked on java?
I'ee : Yes I have been working in Java for past 9 years.

II I'er : Have you worked in EJBs?
I'ee : No I have never worked on EJBs. I am familiar with the generic
container models but nothing specific to EJBs.

II I'er : What is the difference between container managed and bean managed?
I'ee : Hmm! As I said I have never worked on EJBs but logically the difference
would be how the objects are managed and where the responsibility of managing
states lie.

II I'er : So what is the delegation model in EJB containers?
I'ee : I am not familiar with the delegation model specific to EJB containers
but I can tell you about the delegation patterns and my guess would be EJB
containers must implement something similar to it.

II I'er : What is a MDB?
I'ee : It stands for Message driven bean. Must be a wrapper to the message queue
objects where few objects wait for an event to occur. Very similar to the
Observer-Observable pattern.

II I'er : Let me ask you some database questions.

II I'er : How would you see if no two requests are accessing the same row in the
database?
I'ee : One way is to make database access through one singleton object which
provides synchronized access to the database so that the object lock is only owned
by only one client at a given time. The second way is to single out the critical
section and synchrnize the block so that no two simultaneous access is possible.

II I'er : No no no. my question is very specific. How can you see if no two requests
are accessing the same database row? Not in the application.
I'ee : So you are asking no programming should be done. I am pretty sure the database
should provide locks which can be used at a row level.

II I'er : No no no. I know there is a lock maintained by the database. My question
is specific..
I'ee : Are you pointing me towards any log files? or snooping the port where
service is running?

II I'er : No. Okay, if an applications' memory consumption is increasing, what will
you do?
I'ee : Usually I will use commands like prstat to monitor the number of threads and
[interrupted]

II I'er : No no no. prstat is a very high level program I want to know what will you
try to see?
I'ee : Okay.. one thing I would like to monitor the heap size in the VM and how the
garbage collector is behaving. We can also use apps like optimizeit to see how the
memory is growing. If it is a multithreaded application I would like to see its'
stack and heap sizes and see if threads are not waiting for something and
continuously creating new objects in the method. I will also watch out for any loops
but I am not sure if I am allowed to look with in the code. If it simply hangs, I
would like to get its' stacktrace...

II I'er : Have you ever tuned the JVM?
I'ee : Yes I have. In the application <name> which I worked recently I did a
lot of JVM tuning. Do you want to know something specific?

II I'er : No no no, just wanted to know if you have ever done it.
I'ee : Yes I have.

II I'er : Thats all I had.
I'ee : Thanks.

III I'er : Do you know how to enable https on a app server?
I'ee : Yes the configuration is stored in the server.xml usually it defaults on port
443 but is configurable. You would need to have a certificate though signed by the
recognizable authority.

I I'er : Are you familiar with the <some> ticket resolution methodology?
I'ee : Nope. Is this same as what <some team> uses?

I I'er : I don't know. There is a standard which is followed in the product team...
I'ee : No I am sorry I have never heard of it. Could you please send me the link
where I can read about it more?

II I'er : Sure I will send you that.
I'ee : Thanks.

I I'er : So did your resume was forwarded by an external agency?
I'ee : Nope. It was applied internally from with in the company.

I I'er : I needed to know how to respond to them.
I'ee : [felt very demeaning]

I I'er : Thats all we had. Do you have any questions?
I'ee : Yes, is this position based in Bangalore?

I I'er : Yes it is based in Bangalore but you will have to work with ....
I'ee : Ah good. Does it require a lot of onsite supports?

I I'er : No not alot. sometimes it could be.
I'ee : Are there any training sessions planned after the selection?

I I'er : Yes there are. As you have worked on a lot of the stuffs we need, you will
not need the basic trainings [if selected was implied I guess].

I'ee : Thats all I had I guess.


---------

II 'er later sent me the link to the process document. I sent a "thankyou for your
time email later". Never heard back from them since.

Now.. I know I didn't do well. I answered tomcat's SSL configuration instead of the
app servers. But, what is worrying me is when I had already said I have never worked
on EJBs - the guy kept asking me a series of questions on that. I tried to answer
him logically (not EJB specific) and he kept responding me as if I didn't know
anything. I am not sure if he was given a sheet of questions he had to ask no matter
what. Since then I have really been slightly disturbed.

1 comment:

Dawn Roth said...

Hey Ashish, your interview cracked me up since I have so been there...wanting to kick the interviewer. Remember that most people giving technical interviews are just regular techie types and aren't good with people and usually suck at giving interviews (I know I do). The guy (or gal) giving the questions probably made up a list ahead of time and had no idea how to deviate and still ask semi-intelligent questions. Don't worry, something great will come along for you soon, 'cause you rock. :) We miss you here at Sun...