Shekar Gurram
BAN USERSHEKAR GURRAM
Flat No: 9-2-531 to 533 D, Second Floor, G Ramaiah and Sons Kirana Shop, Regimental Bazar, Secunderabad-25.
E-mail: shekar.gurram@gmail.com. Linked-In Profile Ph: 9490220439.
-----------------------------------------------------------------------------------------------------------------------------------------
OBJECTIVE
To be part of an organization which provides me an atmosphere where in I can put in my skills and innovations along with my team for the growth of the company and grow as an individual.
SUMMARY
An accomplished Software Developer with working experience of 3 years on .Net and Java Web Development as a core application developer. Good expertise in application coding and database designing. Working experience on SQL query optimization and Data Migration, Good at understanding core concepts, technical and problem solving skills.
TECHNICAL SUMMARY
Languages : C#, VB.NET, Java, C and C++
Frameworks : .Net 3.5 and .Net 4.0 and Spring 3.0
Software/Tools : MS Visual Studio 2008, MS Visual Studio 2010, MS SQL 2008 and Eclipse
Operating Systems : Windows 7, Windows Vista and Windows XP
Web Technologies : HTML, Java Script, JQuery, CSS, JSP
Databases : MS SQL and MySQL
WORK EXPERIENCE
1) Wiki School Technologies Pvt. Ltd. April-2011 to Present
Wiki School Technologies Pvt. Ltd is a startup in collaboration with IIT by passionate entrepreneurs aiming to enhance the learning experience of students in classroom. The mission is to establish a common educative social networking platform for all schools in India.
Projects Worked on:
School Management System: SMS in short is a web application meant for School Administration and Faculty to maintain and view school information including student/teacher attendance, students and teachers profiles, exam schedules, class timetables, etc. with great ease for their daily activities. A step towards making things online and removing the over head of paper work in Schools.
Role as a Team Lead: Finalized on project requirements, Designing of Data Model, Building the application Framework, Introducing the project to team, Project management, etc…
Role as a Developer: Creation of Data Model, Development of basic dependency modules and coded major modules.
Technologies used: Java with Spring, MyBatis, HTML, JS, JQuery and JSP.
Wiki School Social Network: An Idea to combine Social Network with School Management and Learning to help students easily create and share academic content. A Social Network platform for school students similar to Facebook with an educative touch monitored by parents and teachers.
Role as a Team Lead: Finalizing on project requirements of different modules, Discussing and Designing of Data Model, Analyzing various technologies.
Role as a Developer: Creation of Data Model, Developing the social network from scratch, integrating social network with other SMS modules.
Technologies used: Java with Spring, MyBatis, HTML, JS, JQuery and JSP.
Wiki School Templating System: Templating system to create websites for schools.
Role as a Mentor: Guided the developers through out the development process in designing, selecting modules and creating demos.
Technologies used: Joomla CMS.
2) Capital IQ (A Division of Standard and Poor’s) June-2009 to April-2011
Was a Full time employee in Software Developer role at Capital IQ for 2 years. The core technologies were .Net and MSSQL.
Projects Worked on:
Financial Data Collection Application: FDCA in short is a standalone application used by RAs (Research Analyst) to collect financial data of companies from the documents filed by them and persist to backend. This includes automatic extraction. The application mostly consists of Data Grids which are the basic components for collecting data. The key points about the application are loading huge amounts of data, customizing data grids, sending lots of data to backend for saving, data checks and optimizing SQL queries.
Tasks Done:
Extending DCS Functionality: DCS (Debt Capital Structure) is a module in FDCA where the debt related data is collected. Added additional fields in DCS Grid to collect more data
UI Check in DCS: Implemented data accuracy checks in UI in a generic way to run on collected data before sending them to persistence storage.
Description Cleaning: Auto formatting the collected text data before sending it to persistence storage based on the rules configured.
Better Value Concept: Company level components are collected from every document filed by the company. We need to store only the data collected from the latest filing on to the persistence.
Partial Save: Allowing the user to save the collected data intermittently to a text file before committing the filing and then clearing it on file commit.
Sort Order Assigning: Work flow loader issues documents based on the sort order assigned. Wrote a sort order logic that exactly fits with the user requirements and which is unique of its kind.
As a Developer worked on the above mentioned tasks, this helped me to get good command over .Net framework and improve my coding skills. Also used LINQ to a great extent
Technologies used: .Net (C#) and MSSQL.
Splits Migration: A Split is a stock split announced by a company to increase or decrease number of shares. The Splits data is collected by two different applications with different data models. There was a need of migration of splits data from one data model to another data model for standardization. This project elevated my command over SQL usage and writing migration scripts.
Role: Developer
Technologies used: MSSQL.
Bug Tracker Enhancements: Developed enhancements to Bug Tracker application when I was undergoing the Training program conducted for newly joined employees. Bug Tracker is the Bug Tracking application of Capital IQ.
Role: Developer
Technologies used: ASP.Net with VB, MSSQL and JQuery.
3) Internship at Capital IQ Dec-2008 to May-2009
Was an Intern for six months at Capita IQ (A Division of Standard & Poor’s)
Project Done:
Workflow Loader Admin Tool: Workflow loader is responsible for issuing documents to various data collection teams based on the requirements of the team, the requirements being embedded into Issue Groups and Issue Conditions. Workflow Loader Admin Tool provides a GUI for the Creation/Modification/Deletion of these Issue Groups and Conditions.
Role: Developer.
Technologies used: VB.Net and MSSQL.
EDUCATION & QUALIFICATION
Bachelor of Engineering (B.E.) Sep – 2005 to May - 2009
University College of Engineering, Osmania University
Discipline: Computer Science and Engineering
Diploma in Computer Engineering June – 2002 to May - 2005
Government Polytechnic (GPT) Masab Tank
Discipline: Computer Engineering
EDUCATIONAL ACHIEVEMENTS
• Achieved state wide 4th rank in E-CET’05.
PERSONAL DETAILS
Languages known : English, Telugu and Hindi
Nationality : Indian
Gender : Male
DOB : 10-12-1985
Hobbies : Playing Cricket, Listening to music, collecting pictures online.
Permanent Address : H. No. 1-30, Muneerabad (Village), Medchal (Mandal), Ranga Reddy (Dist.),Poodur (Post), Andhra Pradesh.Pin: 501401.
DECLARATION
I here by declare that the above mentioned details are all true.
Place : Hyderabad. (Shekar Gurram)
- 0of 0 votes
AnswersA shop sells things (suppose apples) in packages of 6, 9 and 17; it cannot break the packages while selling. Given an input number (required number of apples), write an algo to find if those many number of things (apples) can be given/sold to the customer without breaking the packages.
- Shekar Gurram in India
Given the input number your algorithm should return true or false telling whether we can give the apples or not.| Report Duplicate | Flag | PURGE
iPowerFour Software Engineer / Developer Algorithm
This won't work in all cases.
The while loop breaks out after a single pass in some cases.
What happens if (list.first.data < list.first.nextLink.data) after the first pass. It should not break out simply.
Check this one; Written in C#;
static void Main(string[] args)
{
int index = 0;
Char[] str = { 'a', 'a', 'b', 'b', 'c', 'd', 'd', 'd', 'd', 'e', 'e', 'e', 'r', 't' };
char currentChar;
int count;
for (int i = 0; i < str.Length; )
{
currentChar = str[i];
count = 1;
int j = i + 1;
while (j < str.Length && str[i] == str[j])
{
count++; j++;
}
str[index] = str[i];
Console.Write(str[index]); // To print the character on to console;
if (count > 1)
{
str[index + 1] = Char.Parse(count.ToString());
Console.Write(str[index + 1]); // To print the number of occurrences;
}
Console.WriteLine(); // To print a new line;
index += count;
i += count;
}
}
{
int index = 0;
Char[] str = { 'a', 'a', 'b', 'b', 'c', 'd', 'd', 'd', 'd', 'e', 'e', 'e', 'r', 't' };
char currentChar;
int count;
for (int i = 0; i < str.Length; )
{
currentChar = str[i];
count = 1;
int j = i + 1;
while (j < str.Length && str[i] == str[j])
{
count++; j++;
}
str[index] = str[i]; Console.Write(str[index]);
if (count > 1)
{
str[index + 1] = Char.Parse(count.ToString());
Console.Write(str[index + 1]);
}
Console.WriteLine();
index += count;
i += count;
}
}
-- Working Code;
-- Written in C#;
Trie
Probably this was the answer the interviewer was looking for.
Full details here: //en.wikipedia.org/wiki/Trie
+1 for the simplicity of the code.
I guess this works for all the cases;
I read about this long back. Just remember very little, but found out the actual thing which I intended to focus on. Although a very very specific case, its worth knowing it.
where you have written your code like this
swap(int *a, int *b)
{
*a ^= *b ^= *a ^= *b;
}
Now, if suppose, by mistake, your code passes the two pointers to the same variable to this function. Guess what happens? Since Xor'ing an element with itself sets the variable to zero, this routine will end up setting the variable to zero (ideally it should have swapped the variable with itself). This scenario is quite possible in sorting algorithms which sometimes try to swap a variable with itself (maybe due to some small, but not so fatal coding error). One solution to this problem is to check if the numbers to be swapped are already equal to each other.
- Shekar Gurram February 03, 2012This can fail in a case where the sum of a and b is greater than the integer max value.
- Shekar Gurram February 03, 2012This works perfectly fine but fails when a is equal to b.
Should use an if condition before using this logic to check for a = b.
@Cooldaa: Distance is the length of the path from one node to another node
OR The number of edges/links between two nodes. An Edge is counted as 1 in a Tree by default.
For example in the above given tree, the distance between 5 & 8 is 1, between 5 & 9 is 2 and so on...
antionline.com/showthread.php?t=237944
- Shekar Gurram March 22, 2012