WYSIWYG

http://kufli.blogspot.com
http://github.com/karthik20522

Friday, February 15, 2013

Evolution of my Resume - Karthik Srinivasan

My Resume over the years:

NOTE: I AM ONLY DISPLAYING PAGE 1 OF MY RESUMES

First there was this: college days



Then there was this: while looking to move from first job (Albany International)



Then there was this: while looking to move from second job (Travelocity)


Single page resume

Two page resume (second page isn't shown)


Now there is this coded resume as a full time programmer (not planning to move anymore thou, but keeping resume updated is probably good)


Page 2 is not shown

Labels: ,

Wednesday, July 18, 2012

Take Home Interview Questions [More]

Adding one more question to my previous take home post

Question 2:
Requirements
Product management supplied the following requirements:
  • The application should be a windows desktop application.
  • The user can search data by show date, gender of participants, question id, and cities in which participants reside.
  • Cities should be presented in a drop down list.
  • Gender should be presented in radio buttons.
  • The search result should be presented in a table format containing all information described in the "Fields" bullet below.
  • Only 10 search results should be shown at a time. The user can page through the results by next and previous buttons. The user should also be able to change the number of records shown at a time.
  • The user should be able to sort the result by any field.
  • The application should be designed such that we can quickly modify the way that the result is presented to users.
  • Fields
    • Age
    • Gender
    • City
    • State
    • Question Id
    • Response
    • Show Date
Additional consideration should be given to the following:
  • The database is expected to have very heavy traffic and search could take a long time.
  • The search result can potentially contain a large number of records.
  • There is another team of developers that will be responsible for developing a search service that takes search criteria and returns results for you. The team is waiting for you to specify the interface to which their service will conform.
Design Phase
Your design tasks are as follows:
  • Write a brief summary about how you would deal with slow response time while a search is performed. Specifically, how would you keep the user interface from "freezing" while the application is querying the database?
  • Write a brief summary about how you would design the application so that you can quickly modify the way the results are presented to the users.
  • Define the search interface so that the search team can start their development. Keep in mind that the search result can potentially be very large.
  • Provide a class diagram of classes that you will use to organize search results. These classes should be able to call the search service, organize and sort the result, and provide paging functionality. Don’t worry about strict adherence to a particular software diagramming philosophy (i.e., it doesn’t have to be perfect UML). Briefly describe in words how the pieces of your design fit together.

Labels: ,

Wednesday, June 20, 2012

Take Home Interview Question (s)

Question 1:

Overview:
We are having web server uptime problems and we observe that the web servers running .NET website crash on a daily basis. More specifically, a web server "crash" results in users receiving a “server unavailable” result or very long page load times exceeding 30 seconds. We observe that during this "crash" period the overall CPU utilization hits 100%, and specifically the .NET worker process uses 100% CPU utilization for an extended period of time (several hours) without recovering. Under normal conditions, CPU utilization on the web server is less than 5%. We notice that the first step is an increase in the CPU utilization to 20-25%. Then finally we see a step to nearly 90-100% CPU utilization. It is at this point that the website starts to perform very slowly. Our website runs .NET pages and receives about 20,000 visitors per day and 80,000-90,000 page views per day. We would like your help in recommending how to prevent this type of system crash.

System Details:
Windows 2003
IIS 6
Dual processor 3.0 Ghz processors
4 GB Ram

Observations:
1)We observe that web server processor utilization increases in a “step manner” over time across all of our webservers. The site performs very slowly when processor utilization reaches 50% and more. Y Axis on this graph and all the others is the % processor utilization.

Data source: IIS performance monitor


2) We observe that memory utilization increases marginally over a 16 hour period. See graph below.


3.We have also graphed Webserver utilization vs. DB utilization to see if there is some relationship between DB processor and Webserver processor utilization. While there is not a direct relationship, it may still be true that deadlocking is causing problems in our webserver.

Labels: , ,

Tuesday, February 21, 2012

Whaa (t), a good candidate?

There comes a time when after interviewing over few dozen candidates for a nothing out of the ordinary software developer position I started wondering if there is something called as a good candidate? Unfortunately it's hard to find out a candidate type [http://stevenbenner.com/2010/07/the-5-types-of-programmers/] in the limited time given during interviewing. So rather than determining if a candidate is a rock star programmer or a dud, I tend to categorize my candidates into 3 categories:

- Someone who works for the sake of working
- Someone who works for money
- Someone who is passionate and work more than what is asked for

This makes my questions easier since there is no technical aspect involved in judging a candidates character. The need to change my interview tactics was due to the following facts:

- Many programmers are not found of analytical questions like 2 trains traveling at so & so speed, tricky data structure etc

- Most programmers have probably not worked on the frameworks, technology that we use. It doesn't mean they are dumb, but just the fact that they haven’t had the opportunity to use them.

- Some are nervous during interviews so judging their technical skills only adds chaos.

- Last of all, we are not building Google like search or Facebook scale site, so an average programmer with the ability to learn is what we want and what most companies probably need

With all this in mind, the interview changed from Technical, whiteboard questions to semi-technical, all chit chat questions. But to my surprise, even non-technical questions were too hard to be answered! Is it the recruiter sending us less than average candidates or are my questions too hard to answer?? Following are my questions to
most of my candidates:

- What possibly are five fundamental things that a programmer should know either technical or non-technical or theoretical?
- Do you believe an ideal programmer should be a duck tape programmer?
- Have you heard of 4guys From Rolla? What design patterns do you usually use when you program?
- Briefly can you go over what you have been working on during past yr? More interested on programming/tech aspects of your work. Like I built websites using jquery/extJs, clubbed with rest based services, with oracle background etc
- Jack of all trades or king of one?
etc etc…

Is the above questions too hard or is it just the candidates who claims to over 3-5yrs of experience just not built to answer these questions! So I can't question technical questions nor can candidates answer non-technical questions; what the fuck do ppl ask then?

So whenever I come across a good candidate, I am like woooh!!!!

Labels: ,