Posted on

How to Crack Zoho Interview [Updated 2019]

Zoho’s Interview Process :

There are five rounds in Zoho Interview process :

1.First Round: (Aptitude written round)
2.Second Round: (Normal Programming round)
3.Third Round: (Advanced Programming Round)
4.Fourth Round: (Technical Round)
5.Fifth Round: (HR round)

Here are sample question format and topics in which questions are probably asked :

1.First Round: (Aptitude, written round)

This round consisted of two sections “Reasoning Aptitude” and “Technical Aptitude”. Reasoning section was more like puzzles so do concentrate on logical puzzles. Technical Aptitude dealt more with “operator precedence”, “pointers”, “iterations”, “dynamic memory allocations”.

2.Second Round: (Normal Programming round)

1.Print the word with odd letters as


  1. Given a set of numbers like <10, 36, 54,89,12> we want to find the sum of weights based on the following conditions
    1. 5 if a perfect square
    2. 4 if multiple of 4 and divisible by 6
    3. 3 if even number

And sort the numbers based on the weight and print it as follows

<10,its_weight>,<36,its weight><89,its weight>

Should display the numbers based on increasing order.

  1. Save the string “WELCOMETOZOHOCORPORATION” in a two-dimensional array and search for a substring like “too” in the two-dimensional string both from left to right and from top to bottom.


And print the start and ending index as

Start index : <1,2>

End index: <3, 2>

  1. Given a 9×9 Sudoku, we have to evaluate it for its correctness. We have to check both the submatrix correctness and the whole sudoku correctness.

5.Given a two dimensional array of string like

<”luke”, “shaw”> <”wayne”, “rooney”> <”rooney”, “ronaldo”> <”shaw”, “rooney”>

Where the first string is “child”, the second string is “Father”. And given “ronaldo” we have to find his no of grandchildren Here “ronaldo” has 2 grandchildren. So our output should be 2.

Third Round: (Advanced Programming Round)

Here they asked us to create a “Railway reservation system” and gave us 4 modules. The modules were: 1. Booking 2. Availability checking 3. Cancellation 4. Prepare chart We were asked to create the modules for representing each data first and to continue with the implementation phase.

Fourth Round: (Technical Round)

Technical questions which are revolved around “data structures” and “OOPS”

Fifth Round: (HR round)

Some general hr questions asked mainly about our projects and about certifications if we had one.

To Access some more Practice Problems – Click here

To Master Data Structures – Checkout this Playlist Youtube

Also Checkout GUVI’s Computational Thinking course to master Algorithms and Data Structures.Click here

Content Source –

Posted on

20 Accenture interview questions that you should be ready to answer!!!

What is pointer to pointer in C?

A pointer to a pointer is a form of multiple indirections or a chain of pointers. Normally, a pointer contains the address of a variable. When we define a pointer to a pointer, the first pointer contains the address of the second pointer, which points to the location that contains the actual value. [][2]

What is dynamic memory allocation?

C dynamic memory allocation refers to performing manual memory management for dynamic memory allocation in the C programming language via a group of functions in the C standard library, namely malloc(), realloc(), calloc() and free(). What do you know about our company?

Accenture is one of the largest consulting firms in the world that provides strategy, consulting, digital, technology and operations services. A Fortune Global 500 company, it has been incorporated in Dublin, Ireland, since 1 September 2009.

What functions are used for dynamic memory allocation in C language?

malloc(),calloc() functions are used for dynamic memory allocation.

What is Encapsulation?

Encapsulation is an Object Oriented Programming concept that binds together the data and functions that manipulate the data, and that keeps both safe from outside interference and misuse.

Can we compile a program without main() function?

we can use preprocessor directive #define with arguments to give an impression that the program runs without main. But in reality, it runs with a hidden main function.C program can never run without a main().

What is a token?

A single meaningful element of a programming language. A token could be a keyword, an operator, or a punctuation mark.

What do you consider as the biggest professional achievement in your life?

when asked this one, this is a time to brag, not be humble. Think about your greatest professional accomplishments and how you achieved them. We recommend that you choose something that’s as recent as possible, and somewhat relevant to the job or your career you are applying for.

What is Polymorphism?

In object-oriented programming, polymorphism refers to a programming language’s ability to process objects differently depending on their data type or class. Generally, the ability of a single function to respond differently to different inputs is known as polymorphism.

What is a constructor?

In class-based object-oriented programming, a constructor is a special type of subroutine called to create an object. It prepares the new object for use, often accepting arguments that the constructor uses to set required member variables.

What does Scope Resolution operator do?

The ‘::’ scope resolution operator is used to get hidden names due to variable scopes so that you can still use them. The scope resolution operator can be used as both unary and binary. You can use the unary scope operator if a namespace scope or global scope name is hidden by a particular declaration of an equivalent name during a block or class. For example, if you have a global variable of name my_var and a local variable of name my_var, to access global my_var, you’ll need to use the scope resolution operator.

What are the C++ access specifiers?

There are three access specifiers in C++ Public – when members are declared as Public, they can be accessed from outside the Class through an object of the class. Protected – when members are declared as Protected then they can be accessed from outside the class but only in a class derived from it. Private – when members are declared as Private then they can only be accessed from within the class.

Define the queue data structure?

A collection of items in which only the earliest added item may be accessed. Basic operations are added to the tail, enqueue and delete from the head or dequeue.

What is RDBMS?

An RDMS is a database management system based on the relational model of data. Most databases in widespread use today are based on this model. eg:-MySQL,spanner,Sybase IQ etc

What is the 3-Tier architecture?

A three-tier architecture is a client-server architecture in which the functional process logic, data access, computer data storage and user interface are developed and maintained as independent modules on separate platforms.

What is a 2-Tier architecture?

A two-tier architecture is a software architecture in which a presentation layer or interface runs on a client, and a data layer or data structure gets stored on a server. Other kinds of multi-tier architectures add additional layers in distributed software design.

What is the static variable?

In computer programming, a static variable is a variable that has been allocated “statically”, meaning that its lifetime is the entire run of the program.

Tell me about your project?

Start by giving the shortest explanation of what the project was about, and the kind of team involved in creating it. Then, move on to which technologies you used to develop it. Finally, find something you liked about the project, and describe it.

What is ‘this’ keyword in java?

‘this’ keyword in java can be used inside the Method or constructor of Class. It works as a reference to the current Object, whose Method or constructor is being invoked. This keyword can be used to refer to any member of the current object from within an instance Method or a constructor.

What are the different storage classes in C?

There are four storage classes in C they are as follows: Automatic Storage Class. Register Storage Class. Static Storage Class. External Storage Class.


Posted on

Celebrate the Big Data Problems – #2

Celebrate the Big Data Problems – #2

How to identify the no of buckets for a Hive table while executing the HiveQL DDLs ?

The dataottam team has come up with blog sharing initiative called “Celebrate the Big Data Problems”. In this series of blogs we will share our big data problems using CPS (Context, Problem, Solutions) Framework.


Bucketing is another technique for decomposing data sets into more manageable parts. For example, suppose a table using the date as the top-level partition and the employee_id as the second-level partition leads to too many small partitions. Instead, if we bucket the employee table and use employee_id as the bucketing column, the value of this column will be hashed by a user-defined number into buckets. Records with the same employee_id will always be stored in the same bucket. But the challenges are to identify the no of buckets for certain Hive tables in the big data system. While creating table you can specify like CLUSTERED BY (employee_id) INTO XX BUCKETS; where XX is the number of buckets. Bucketing has several advantages. The number of buckets is fixed so it does not fluctuate with data. If two tables are bucketed by employee_id, Hive can create a logically correct sampling. Bucketing also aids in doing efficient map-side joins etc.


How to identify the no of buckets for a Hive table while executing the HiveQL DDLs ?


To identify the buckets we need to do a small exercise as below steps,

We need to get the daily / run-wise records from the business, vertical, or domains.
Convert into average percentage of increment by taking at-least five days’ data, or a week data.
Multiple the incremental percenateg with 1024 to have it in incremental size in megabytes
Divide it by 192 or 128 for RCFile and HiveIO respectively
Formulae :
Incremental Records = Total Records / Incremental Records
Incremental Records % of Total = (Incremental Records / Total Records) * 100
Incremental Size in MB = Incremental Records % of Total * 1024
of Buckets = Incremental size in MB / 192 for RCFile
of Buckets = Incremental size in MB / 128 for HiveIO
Reason for conversion in to MB is that Hadoop has it’s file storage blocks in to MB for large blocking.
Example :
If we have initially 100 Records and average increment with 5 Records per run/day wise and we are interested in using RCFile
Incremental Records = 100 / 5 = 20
Incremental Records % of Total = (20 /100 ) * 100 = 20%
Incremental Size in MB = 20 * 1024 = 20480

Continue Reading …

Posted on

Java – Interview Questions and Answers Collection [Updated 2019]

Q.  Difference**** between TreeMap and HashMap ? Ans. They are different the way they are stored in memory. TreeMap stores the Keys in order whereas HashMap stores the key value pairs randomly. Q.  What is the difference between List, Set**** and Map? Ans. List – Members are stored in sequence in memory and can be accessed through index. Set – There is no relevance of sequence and index. Sets doesn’t contain duplicates whereas multiset can have duplicates. Map – Contains Key , Value pairs. Q.  Which interface does java.util.Hashtable implement? Ans. Java.util.Map Q.  What is an Iterator? Ans. Iterator is an interface that provides methods to iterate over any Collection. Q.  Which interface provides the capability to store objects using a key-value pair? Ans. Q.  What is the use of hashcode in Java? Ans. Hashcode is used for bucketing in Hash implementations like HashMap, HashTable, HashSet etc. The value received from hashcode() is used as bucket number for storing elements. This bucket number is the address of the element inside the set/map. when you do contains() then it will take the hashcode of the element, then look for the bucket where hashcode points to and if more than 1 element is found in the same bucket (multiple objects can have the same hashcode) then it uses the equals() method to evaluate if object are equal, and then decide if contain() is true or false, or decide if element could be added in the set or not. Q.  Difference** between Map and HashMap ? Ans. Map is an interface where HashMap is the concrete class. **Q.  What is a Property **class ? Ans. The properties class is a subclass of Hashtable that can be read from or written to a stream. **Q.  what is the difference between collections class **vs collections interface ? Ans. Collections class is a utility class having static methods for doing operations on objects of classes which implement the Collection interface. For example, Collections has methods for finding the max element in a Collection. **Q.  Will this code give **error if i try to add two heterogeneous elements in the arraylist. ? and Why ? List list1 = new ArrayList<>(); list1.add(5); list1.add(“5”); Ans. If we don’t declare the list to be of specific type, it treats it as list of objects. int 1 is auto boxed to Integer and “1” is String and hence both are objects. **Q.  What is the difference between comparable and comparator in java.util pkg? Ans. Comparable interface is used for single sequence sorting i.e.sorting the objects based on single data member where as comparator interface is used to sort the object based on multiple data members. Q.  Advantage ****of Collection classes over Arrays? Ans. Collections are re-sizable in nature. We can increase or decrease the size as per recruitment. Collections can hold both homogeneous and heterogeneous data’s. Every collection follows some standard data structures. Collection provides many useful built in methods for traversing,sorting and search. Q.  What are the Disadvantages of using Collection Classes over **Arrays ? Ans. Collections can only hold objects, It can’t hold primitive data types. Collections have performance overheads as they deal with objects and offer dynamic memory expansion. This dynamic expansion could be a bigger overhead if the collection class needs consecutive memory location like Vectors. Collections doesn’t allow modification while traversal as it may lead to concurrentModificationException. **Q.  What is Comparable Interface? Ans. It is used to sort collections and arrays of objects using the collections.sort() and java.utils. The objects of the class implementing the Comparable interface can be ordered. Q.  Explain Set Interface? Ans. It is a collection of element which cannot contain duplicate elements. The Set interface contains only methods inherited from Collection and adds the restriction that duplicate elements are prohibited. Q.  What is the difference between the size and capacity of a Vector? Ans. The size is the number of elements actually stored in the vector, while capacity is the maximum number of elements it can store at a given instance of time. Q.  Can we use Ordered Set for performing Binary **Search ? Ans. We need to access values on the basis of an index in Binary search which is not possible with Sets. **Q.  Difference** between ArrayList and **LinkedList ? Ans. LinkedList and ArrayList are two different implementations of the List interface. LinkedList implements it with a doubly-linked list. ArrayList implements it with a dynamically resizing array. **Q.  If you are given a choice to use either ArrayList and LinkedList, Which one would you use and **Why ? Ans. ArrayList are implemented in memory as arrays and hence allows fast retrieval through indices but are costly if new elements are to be inserted in between other elements. LinkedList allows for constant-time insertions or removals using iterators, but only sequential access of elements Retrieval – If Elements are to be retrieved sequentially only, Linked List is preferred. 1. Insertion – If new Elements are to be inserted in between other elements , Array List is preferred. 2. Search – Binary Search and other optimized way of searching is not possible on Linked List. 3. Sorting – Initial sorting could be pain but lateral addition of elements in a sorted list is good with linked list. 4. Adding Elements – If sufficiently large elements needs to be added very frequently ,Linked List is preferable as elements don’t need consecutive memory location.

Q.  What are the pre-requisite for the collection to perform Binary **Search ? Ans. Collection should have an index for random access. Collection should have ordered elements. **Q.  Can you provide some implementation of a Dictionary having **large number of words ? ** Ans. Simplest implementation we can have is a List wherein we can place ordered words and hence can perform Binary Search. Other implementation with better search performance is to use HashMap with key as first character of the word and value as a LinkedList. Further level up, we can have linked Hashmaps like , hashmap { a ( key ) -> hashmap (key-aa , value (hashmap(key-aaa,value) b ( key ) -> hashmap (key-ba , value (hashmap(key-baa,value) ………………………………………………………………………… z( key ) -> hashmap (key-za , value (hashmap(key-zaa,value) } upto n levels ( where n is the average size of the word in dictionary. Q.  Which Java collection class can be used to maintain the entries in the order in which they were last accessed? Ans. LinkedHashMap **Q.  Is it legal to initialize List like **this ? LinkedList l=new LinkedList(); Ans. No, Generic parameters cannot be primitives.   Thanks for reading , Share it with your friends for more Java Interview Questions.

Learn Java In Tamil – Free Course –

Checkout Simple yet Creative Project Ideas : Click Here


Join with Us :

Official Site :

GUVI Facebook Page

GUVI Facebook Group        

Posted on

10 things that college students can do in their vacation to improve their job prospects – Part 1

Hello friends, this is Rajaraman from Team GUVI.  Hope you are really enjoying your vacation.  Do you know something, I definitely miss my yearly vacations ever since I am out of the college life.  It is that time of the year, that we can play cricket, play lot of video games, watch a lot of cricket, enjoy time with friends, girlfriend(s), boyfriend(s), watch our favorite movies, watch all new movies, watch TV all day or simply do nothing 🙂

But you can do a few more things which will increase your job prospects by a big margin and make you clear your interviews easily.  So what are those things?  Let’s see them one by one.


Disclaimer:  Please read the offer document carefully before investing.   OOPS.  Sorry.  Pazhaka Thosham.  This was supposed to be MY disclaimer. Ok. This advise is mainly applicable to engineers (Especially final year) who are looking for job in software companies.  But some of the general advise can be applied for other jobs too.

Get Technically strong (In your favorite language or read a new language) (2-4 hours)

How many of you think you are very strong in your basic skills especially in programming? C? C++? JAVA? OOPS?  I hope not many.  Because by now, if you are very strong, you can skip this step and go to Step 2.  If you feel you are lacking something, go ahead and take these online courses.  It will take 2-4 hours max.

C Programming in Tamil

C++ Programming in Tamil

Java Programming in Tamil

Programming Courses in native languages

Courses in English

Take up a mini project in your area of interest (1-2 hours/day)

By far, the number one way to learn programming fast and also to showcase your worth to your recruiters is to have a Mini-Project.  It can be anything in your area of interest.  For example, I developed a Cricket simulator game in C language.  Nothing fancy, it was a command prompt game with no graphics.  But yet it simulated cricket scores and I built the intelligence inside the game.  So Sachin would play faster than Dravid, and Sehwag will play faster than Sachin, Dravid would not get out easily.  Do you want to know how I did those?  Just think for sometime.  You will get answers yourselves.

If you need help in choosing some mini projects, We have a list of Top 30 Mini Projects for College Students.

Attend a mentorship program (15 Days – 6 Weeks)

Imagine how good it would be to get personalized guidance from some expert professionals who knows in and out about the software industry or at least your field of interest.  You have read the theory.  He/She knows how those concepts are actually used in practice.  That is a great knowledge to acquire and you can do that with the help of a Professional Mentorship program.  With the help of a Mentorship program, you can get job ready in just 6 weeks.  See how to get a Software Job in 6 weeks.

If you wish to know more about Mentorship program, click here.

Do mini-internship in a startup (4-8hours/day for 15 days)

Do you want a quick preview of how an office atmosphere would look like?  Come to a startup and do a mini internship.  It will help you get a glimpse of what’s in store in a startup environment.  You need to feel that excitement in a startup.  Do you want to apply for startup internships?  Apply here.

Create a Linkedin Profile (1-2 hours)

Do you have a Facebook account?  I know it’s a stupid question.  You have one.  Isn’t it?  A Facebook account means that you exist in the world.  A LinkedIn account means that you exist in the professional world.  So create a LinkedIn profile for yourself.  Just take sometime to fill out your details, your projects, etc.

Advantages are:

  • You get to network with professionals (HR professionals, Professionals from your favorite companies)
  • You can include your LinkedIn Profile in your resume which will be seen as a value add.

Network with professionals

Try to meet your alumnis / professionals and get some knowledge from them.  You can use LinkedIn as a medium to start the discussions.

Attend meetups in your city (4 hours on select weekends)

A lot of passionate folks are organizing meetups/group discussions around a lot of topic.  Just pick your favorite topic and search for a meetup that is happening in your locality either through Facebook Groups or through

Create/Update your resume (1-3 hours)

Have you started preparing your resume yet?  If not, start doing it now.  It’s been proven that if you do something in writing, it makes it more clear.  Same is the case with your resume.  If you try to write down your skills and achievements, you will definitely think what you are missing and what you might want to add.  You will get more confidence if you DON’T COPY the resume from someone.

If you already have a resume, then great.  Go ahead and update it with whatever mini projects that you have done, mini courses you have taken, internships you have taken.  That is going to add a lot of value.

Refresh Algorithms and DataStructures (1 hour/day for 2 weeks)

If you like it, you have to read and get thorough with it.  If you don’t like it, then also you have to read and get thorough with it.  So basically you can’t escape from this.  If you want to crack the top companies, you should be damn good with datastructures and algorithms.  Try learning the concepts, solve some datastructures and algorithms problems.

Attend a Hackathon in your city (2 days)

Hope you are aware what a Hackathon is.  If not, please go ahead and read “What is a Hackathon?“.  I am planning to write a separate blog post about Hackathons.  But for now, just have this in mind.  A Hackathon can literally change your life.  Read our story “Life Changing Hackathon Experience of 4 College graduates from rural background”.  It can give so much confidence to you that it will become a critical decider in your career.  The whole experience can be so exciting that you will love to do it again.

If you are interested in attending a Hackathon, please fill this form.  We will be conducting a hackathon pretty soon.

What else can you do in your vacation to increase your job prospects?  Please reply in the comments section.

Posted on

1500+ Java Interview Questions and Answers

1500+ Java Interview Questions and Answers

Welcome to GUVI blogs.  Here is a large collection of Java Interview Questions and Answers aggregated from various external sources.  Few of them have questions segregated by topics.  But few of them don’t as mentioned below.  So here we go with the list.

1. TutorialsPoint Java Interview Questions (143 Questions & Answers)

1500+ java interview questions Questions: 143 Segregated by Topic: No Advanced Topics: No

2. JavaCodeGeeks Java Interview Questions (115 Questions & Answers)

JavaCodeGeeks-logo Questions: 201 Segregated by Topic: Yes Advanced Topics: Yes.  J2EE topics.

3. Javatpoint Java Interview Questions (201 Questions & Answers)

javatpoint-logo Questions: 201 Segregated by Topic: Yes Advanced Topics: No.   New to Java? Checkout our Free Java Course in Tamil  

4. Indiabix Java Interview Questions (98 Questions & answers)

indiabix-logo  Questions: 98 Segregated by Topic: No Advanced Topics: Yes.

5. CareerRide Java Interview Questions (700 Questions & answers)

cride-logo Questions: 700  Segregation by Topic: No Advanced Topics: Yes**** 

6. ProgramCreek Java Interview Questions (150 Questions & answers)

progcreek-logo More like an FAQ.  But beautifully explained with visuals. Questions: 150 Segregated by topic: Yes Advanced Concepts also: No

7. Journaldev Java Interview Questions (200 Questions & Answers)

Final-JD-Logo Questions: 200 Segregated by topic: Yes Advanced Concepts: Yes, J2EE Got any more important sites to add that we have left out?  Please go ahead and share it with us in the comments section.   New to Java? Checkout our Free Java Course in Tamil  

Related Posts

Top 10 Java Programs for Freshers Best Java IDEs Attending the Interview is like Impressing a girl – Interview Tips for Freshers How to succeed in Campus Interviews (Important Tips) 1500+ Java Interview Questions and Answers

Posted on

100+ Interview questions for Software Developer (SDE) / Software Developer In Test (SDET)

SDE/SDET Interview questions that will ramp-up your interview preparation

Myself, Balaji Boggaram Ramanarayan – I bag experience in taking/preparing for interviews in several big companies and always felt sharing a few of them such that it might be useful for you in interview preparation.

Note : These questions might help you ramp-up your speed in path of preparing to SDE /SDET interviews in most techie companies. 

 SDE – Software Development Engineer
 SDET – Software Development Engineer in Test 

All that you need is how well can you stand out in your interviews.
SDE and SDET Interview Questions


  1. Heap – Max Heaps and Min Heaps
  2. Conversions : Decimal ,Binary, Hex, Octal (All other possible combinations)
  3. 90 Degrees Matrix conversion
  4. Quick Sort + Applications
  5. Merge Sort + Applications
  6. Remove duplicates in a String — In place
  7. Reverse a string – Inplace
  8. Decide if 2 strings are anagrams or not ?
  9. Binary Search
  10. Reverse SLL without using any extra nodes
  11. Maximum Sub array [Kadane Algorithm]
  12. Find an element which is repeated more than n/2 times in a given set/array. [Moores Voting algorithm]
  13. Find and element in rotated Binary sorted array
  14. Implement power function without pow() function
  15.  Verify if given linked list is circular/cyclic or Acyclic. Follow up can be to indicate the starting point of cycle
  16. Implement Blocking queue
  17. Find a pair in array that will sum up to particular number
  18. Reverse a double linked list
  19. Reverse pairs in SLL. i.e I/P : a->b->c->d->e->f O/p : b->a->d->c->f->e
  20. Segregate even and odd nodes in a given linked list
  21. Addition of 2 linked lists to separate one. (also learn inplace)
  22. Convert SLL in to DLL (XOR based linked lists)
  23. Circular shift an array of integer input array by ‘k’ number of elements
  24. Search for a given pattern in text [Rabin Karp Algorithm]
  25. atio() and itoa() implementations (ASCII to integer and Integer to ASCII)
  26.  Binary Semaphores
  27. Generate subsets of given set of integers
  28. Generate all permutations of a given string
  29. Level order Traversal
  30. Inorder successor of a given node in BST (Binary Search Tree)
  31. Find ‘k’ largest /smallest elements in a given array (Hint : can use heaps)
  32. Heap Sort + applications
  33. Find minimum length unsorted sub array on which storing them makes complete sorted array
  34. Search if a given pattern exists in input text using Suffix Arrays
  35. Re-arrange a string so that all same characters are ‘d’ distant apart
  36. Knights tour problem
  37. Rat in Maze [Back tracking]
  38. Find out if two rectangles overlap or not
  39. Find closest pair of points in the given plane
  40. Find all subset of elements in the given set whose sum equals to a given target
  41. Compute x^y such that it can work for floats and negative values
  42. Find median of  given two input sorted arrays
  43. Find total no of zeros in a given array of 1’s followed by 0’s
  44. Find if there is any sub array which sums up to zero
  45. Count number of inversions in a given array
  46. Find minimum element in a rotated sorted array
  47. Find the fixed point in the given array
  48. Find the maximum sub array sum [D&C]
  49. Count # of occurrences of a number in the sorted array
  50. Find the max and min element in a given array with minimal number of comparisons
  51. Check if a number is multiple of 3 or not ?
  52. One line function to check if a number is power of 2 or not ?
  53. Function to multiple a number by 7.
  54. Function to multiple two numbers without using * product operator
  55. Function to write Fibonacci series in iterative manner
  56. Generate all prime numbers less than or equal to n [Sieve of Erastho..]
  57. Given a number, Find the next biggest palindrome number
  58. Implement logic for fair coin from biased coin
  59.  Check if a number is divisible by 7 without mod operator
  60. Find all the possible words from a phone keypad
  61. Lexicographic sort of permutation of all words
  62. Shuffle a given array / deck of cards [Fisher Yates Algo]
  63. Reservoir Sampling Algorithm
  64. Select ‘k’ random elements from ‘n’ elements
  65. Given a number ‘n’. generate a pascal triangle out of it.
  66. Write an exponential precision function [Taylor series]
  67. Generate all prime factors of a given number
  68. Generate all possible combination of ‘r’ elements in a given array of size ‘n’ [Probability Distribution Function]
  69. Length of Longest common sub sequence of given sequence of numbers
  70. Find minimum cost path in a given cost matrix
  71. Total # of solutions in a coin change problem
  72. Find binomial co-efficient
  73. Knap-sack standard problem
  74. Egg-Drop standard problem
  75. Length of longest palindrome sequence
  76. Palindrome Partitioning
  77. Maximum Length of chained increasing pair
  78. Find the middle of given linked list
  79. Check if a given Single linked list is a palindrome or not
  80. Insert/Delete/Search in max heap
  81. Implement sizeof() operator
  82. Find successor of given BST
  83. Find all triangle triples in given array
  84. Find lowest common ancestor of a given node
  85. Return a single element by knocking out all other elements by ‘k’ [Josephus]
  86. Given a sorted skewed binary tree, Create a BST out of it.
  87. Given an array with integers, Output all the elements which were repeated exactly twice
  88. Maximum depth/height/diameter of a given tree
  89. Serialize and De serialize a given binary tree
  90. Find single repeated or non-repeated number in conditional list. (XOR)
  91. Implement “diff” in linux
  92. Program to count # of set bits in a given integer.
  93. Convert BST to doubly linked list
  94. Convert integer to String without .toString()
  95. GCD of two numerals
  96. Given an array in post order traversal, check whether the given array is in BST or not
  97. Reverse the words in a given English sentence
  98. Get the median of a stream of large numbers
  99. Print all the paths of a given Binary Tree from root to leaf
  100. Modify array such that arr[i] == arr[arr[i]] Inplace
  101. Find the missing number in a billion number list
  102. Bit wise addition

Watch interesting videos for Data Structures and Algorithms & C, C++, JAVA in your native language (Tamil, Telugu, Hindi) here.

Posted on

What is SAP ?

Hi Everybody,

Many of you have heard about the rapid growing software application SAP.

I am happy to blog on the topic “What is SAP”

Hey guys – I could read your mind voice “What is new in this blog Mr. Bala ? – If I will Google it – I can get lot more information about SAP?”

Yes, you can get more information from Google, but please go through the fact that I am briefing below for the importance of this blog.

  • If you are a (SAP – core user, technical consultant, Functional consultant (Know what is SAP)) you know better about SAP and you don’t require the content of this blog.
  • If you don’t know about SAP then you need to invest lots of time in surfing the net to understand the topic.
  • You might get a fantastic and vital document but without proper guidance you may feel lost.
  • SAP is Ocean, if you do not have a roadmap and preplanned journey in learning you might get lost.
  • While you are reading an SAP content book from internet and if you are not able to understand a concept – you cannot interact with the book to clarify the doubts, either you have to surf further or communicate with expert for clarification.
  • I am going to guide you in understanding what SAP is in simple words.
  • Post reading my blog if you need any further information, then you can interact with me
  • Yes definitely I am going to take the responsibility of clarifying the doubts about SAP if you follow my Blog.

About me:

I am Balamurugan Palani working for IBM INDIA Pvt Ltd as Application Architect and I am having 9 years of Experience in IT. I have worked on various Implementation and Support Projects of SAP in Basis track.

What does SAP stands for:–

SAP stands for Systems, Applications and Products in data processing.

SAP is one among the top largest software company in the world.

The SAP R/3 system is a business software package designed to integrate all areas of a business.

It provides end to end solutions for financials, manufacturing, logistics, distribution etc.

All business processes are executed in one SAP system and sharing common information with everyone.

SAP is an Enterprise Resource Planning (ERP) system by SAP AG, company based out of Walldorf in Germany. SAP software suite that is being implemented as part of re-engineering and Provides end to end solutions for financial, logistics, distribution, inventories. Present scenario large numbers of companies are using sap software for their day to day business activities.

I can explain you in simple word. Let us take an example of the car Manufacturing Company.

To manufacture and sale the car in an industry the below requirements has to be met.

  1. Labor  – HR department
  2. Finance investment  and control – FICO
  3. Machinery – Production planning
  4. Production Management
  5. Quality Management
  6. Outlets for sale of car – Sales and distribution

In early days before SAP came in to market the companies used different software products for each department for their operation.

Eg : People soft for HR module, Tally for Accounts, Excels / planners for Production planning, Rosters for Production management,  etc …

Think of the manual efforts involved in when the data has to be shared between the two departments. (Time consuming, supporting conversion, scope for manual error)

Cost involved in purchasing and maintaining these many software’s.

Dependency between the soft ware’s, if people soft will not provide data on time to finance department then finance department  will not be able to credit the salary, if no salary the employees will not show interest in work. If there is no work then there is an impact in productivity and will affect the sales and company finance.

This is an enterprise where group of people have to work together with the shared resource to achieve the common goal set.

Example scenerios

Case 1:

What if Finance team will ask the details to HR team “Please detect Rs 500 for employees who have Less than 85% attendance and credit Rs 500 bonus for who have 100% attendance?”

The HR team now has to prepare the list of two set and provide it to Finance team manually, post approval from Finance team the transaction will be executed manually.

Case 2:

The Sales team will promote the product and get the orders placed as manual papers. He then will segregate the orders EOD and send them in a courier to the Sales Head office of the company. The company will receive the same by next day and then intimate the production department that 100 cars required for Madurai sales office in 4 weeks. The production department will then start the planning and Production in co-ordination with the Labor department.

This is a chain process End to End. If there is a gap in the chain process then the company will not be able to produce and will lose business.

Also each and every department play the vital role to succeed.

Co-ordination between each department is very much required to get the better yield.

This co-ordination is what we call as Integration in SAP application. The strength of SAP application is the word Integration.

Is’nt it amazing if I say that all the modules are in-corporated into one application SAP.

R/3 architecture

Distributed across the globe (Presentation layer)

Processed centrally by one server (Production Application Layer) (set of services)

Database to store and retrieve the data (Production database)

Most fabulous thing is each and every module is closely integrated ie if a sales executive in Madurai takes the order placement of 5 cars required, the data is immediately available to the production department based on which they start the planning and production @ Gujarat.

I hope you are interested to learn more about SAP

Will continue in my next blog about each modules and the Integration.



Lets learn and share at

Posted on

What is your weak area?

Since this topic got you interested, I assume that you have some weakness you want to correct.  Wondering where to start? This post might help you !!

Disclaimer: This post is primarily intended for college students who are going to take campus interviews or attend off campus interviews, although some or most of the points apply to others also.

  • Identify your weak area     iden

First step is to know what’s bothering you or what your weak area is.  It can be anything like technical skills, communication, aptitude, confidence, etc.

  • Accept it    accept

Once you identify your weak area, next step is to accept it.  You would have definitely identified one or few weak areas even prior to all this.  If that was the case, in all probability, it would be playing in your mind.  If you know your communication is not good, that thing will be playing in your mind and will block you from improving.  So the point is to accept your current situation / weakness so that you can work on it and improve it.

  • Get help   help

We all need help, don’t we.  Let’s say you are planning to learn car driving, you get professional help from a driver or a friend who is very good at driving.  Similarly get help for the weak area that you have.  It might include few sessions with your friend or even it can be a professional training course if you want. Continue reading What is your weak area?

Posted on

Campus Interview tips

Hello Friends.  Welcome to GUVI Blogs again.  Today’s topic is about Campus interviews.  Campus interview is an important part of your college days and certainly very important part of your career.  It might also start to shape up the individual whom you will eventually become.  So here are some tips on how to handle a campus interview.

Campus Interview Tips

  • Don’t say I will start preparing tomorrow
    • Do it today.  Do it now.  Take small steps.  Get comfortable.  Learn technical topics that are of interests to you.  Solve some aptitude questions.  Improve your English skills.  But Start with your first step today (Innike Pillayar suzhi Podunga in Tamil 🙂 )PS
  • Prepare well
    • Preparation is key to a campus interview.  Research the internet before taking up the interview to find out the interview process of the company.  Prepare accordingly.  Learning is a key phase in preparation.  The more you learn, the more you can be comfortable.  That’s where a place like GUVI can really help you with learning and sharing.
  • Company Research
    • Research the company thoroughly.  You would need to read the Wikipedia page of the company and also check them out in the latest news.  By doing this, you will be able to understand both the history of the company and the CEOs and also know what they are doing recently.
  • Be relaxed before the interview Continue reading Campus Interview tips