Thursday, June 15, 2017

About Me

Technical
I have overall of 12yrs of exp which includes working with different domains like Server, Storage, cloud, mobile app, web app, Healthcare domains.
Started career with IBM (software labs, worked with Websphere, Rational, Business analytics grps), then worked with some startups and now with Dell(EMC).
Currently I am an Senior Automation Architect for of Hybrid cloud engineering group of EMC-India centre of excellence.
Evaluate the tools, analyze, do the POC, create Automation strategies, provide the estimations
We build the cloud.
Work with global teams, prepare test strategies, best practices.
We work in a fast pace, rapid releases; supporting multi site, multi tenant deployments in distrubuted environments which are highly scalable following scrum, CI/CD using Jenkins, bamboo, git.
I have developed Automated tool in similar lines of RFT and selenium on Eclipse. Nesses Scans for finding vulnerabilities.
Where in we have to write simple english [just like testcases], to test the functionality.
I have exposure in working to various frameworks, developed from scratch.
Atelast 6-7frameworks.
Exposure (working experience) to DevOps
Using CI/CD: Improve the qulaity of the build. reduce the manual efforts in testing.
Shift left model, Agile test pyramid
Release to release unit testing, Integration testing, BVT, sanity, fucntional testing, Regression testing.
Published several technical articles on RFT.
Feature contributing Author of Rational. Online trainer for RFT.
Certified cloud professional, from VCE: Certified from IBM on RFT, RPT, Solution designing.
Sun certified Java
As a responsible Subject Matter Expert, I have to be answerable in resolving questions arising from the development team, BAs, users and management
About Solution: Native Hybrid Cloud is a turnkey platform that provides the fastest path to digital transformation accelerating time to market and enhancing customer experiences.
Managerial
I have overall of 12yrs of exp which includes working with different domains like Server, Storage, cloud, mobile app, web app, Healthcare domains.
I have started career with IBM, worked with different grps like Rational, WebSphere, Business Analytics grps. Later moved to startups: worked as an Automation Architect for 6-7yrs.
Worked with several automation tools and languages. Developed several automation frameworks….Finally, I have developed an in house automation tool for startups.
Certifications, Articles, RedBooks.
Currently from past 3-4yrs took the QA Manager role and now handling 12members for Cloud Solution[NHC]. We build the cloud, PaaS
Work with senior leadership team.
·         Any organization I go, I check what is the best that I can give, what is the ROI,  that I am giving. Like I analyze historical data to build quality improvement initiatives and drive quality strategies across the network. Build a quality culture. [eg: Agile, CI CD, Pairing, Automation, Model Based Testing]
·         Estimate, prioritize, plan, and coordinate testing activities
·         Own the development of robust quality feedback loops into training, analytics, and process to drive continuous improvement.
·         Identify and analyze data to isolate issues, identify trends, develop solutions and prioritize opportunities for overall process improvements.
·         Create, maintain and disseminate project information to stakeholders and senior management.

Day to Day job:
Interact regularly with Global Stakeholders, Product Owner, Program managers, Dev Managers, Scrum Master & test team to understand the daily progress, status, impediments etc etc.
Outside grp: Lab-ops, SIT grp, Hardware grp(once per release)
Work in fast paced, rapid releases, multi-site heterogeneous environments. Make sure the Quarterly releases go smoother & clear technical challenges or any impediments if the team is facing.

Talk to PO, review the backlogs, check the PSI content for every release.
Get the E2E use cases at customer env.
Remove the impediments if the team is facing anything related to infrastructure or technically in Automation. Give the approvals where required.
Participate in PSI planning, Sprint Planning, Iteration Planning, Review meetings, Triage calls, Sprint of Sprint meetings.
Monitor all operations that affect quality
Appraise customers’ requirements and make sure they are satisfied

Regular 1:1 on the career goals, setting goals for the team.
We work in a fast pace, rapid releases;
Supporting multi site, multi tenant deployments in distrubuted environments which are highly scalable following scrum, CI/CD using Jenkins, bamboo, git.
Accomplishments:
·         CI/CD Implementation for build quality and improvise it.
·         70% Automation across all 3platforms. which reduced the regression efforts
·         Fail fast and Fix fast.  Gel between QA and Dev.
·         Updates from Tools, not from person, made this very dynamic, transperant and visible till Director. [Automation Dev Status, Test progress, Results sprint over sprint, Pie Chart for all these, shows the accurate information]
·         Conduct 360 Feedback to everyone from everyone.
·         Conduct C-SAT programs and get the reviews, drive the improvement actions


I have exposure in working to various frameworks, developed from scratch. At least  6-7framewok

Wednesday, June 14, 2017

Amazon

About yourselves:
Experience in setting up QA process. Automation Roadmaps, Framework Architecture…
People Management.

Round 1: Metrics, Test planning/strategy
Round 2: Framework/automation
Round 3: *Coding/Prob solving [maps, arrays, string, arraylist]
Round 4: *Hiring manager round – Best Fit, leadership principles. Delivered instances.
Round 5: Bar raiser round [hiring manager]

Test Plan:
1.       Introduction
2.       Objective
3.       Scope
4.       Test Strategy/Approach
a.       Automation
b.      Manual
c.       Regression
d.      API…etc levels of testing
5.       Features to be tested and not tested
6.       Entry Exit Criteria
7.       Schedule
8.       Tools
9.       Trainings
10.   Resources
11.   Risks/Assumptions
12.   Hardware
13.   Test Env
14.   Significantly Impacted Departments (SID)

Test Design techniques:
Black box Design techniques.
·         Equivalence partition technique [Saves time in testing and allows you to find more defects in less time. Divide the test data into partitions. Test each partition once.]
·         Boundary value analysis
·         State Transition technique [This technique is used when the system is defined in a  finite no:of
states]
·         Error Guessing
·         Cause effect Analysis
·         Use Case Testing
White Box Design techniques
·         Condition coverage – A major percentage of the outcomes of test conditions are exercised by this technique. Condition testing is a white box test design technique, wherein the test cases are designed in such a way that the condition outcomes are executed.
·         Decision coverage – Here the test design technique exercises the percentage of the outcome of the decisions and designed in such a way that decision outcomes are executed.
·         Statement coverage – This technique is involved in calculating the percentage of executable statements that are being exercised by the test suite.

Test Metrics:
Process Metrics: Metrics that pertain to process quality. Used to measure the efficiency and effectiveness of the process eg: waterfall/agile..etc
Product Metrics: Metrics that pertain to Product quality. Used to measure the quality, cost & product’s time to market.
Project Metrics: Metrics that pertain to project quality. Used to quantify defects, cost , tools, schedule, productivity and estimation of various project resources and deliverables

Different stages of test metrics: Analysis, Communicate, Evaluate, Report

Requirements Metrics:
Req coverage= no:of req covered/total no:of req * 100

Automation – Manual % Coverage
Code Coverage (for unit testing, integration testing)

Performance metrics
·         Webserver Performance Metrics [throughput, bandwidth req]
·         AppServer Performance Metrics [cpu hotspots, load distributions, worker threads, mem issues]
·         Application Performance Metrics
Eg: MVC model view control, put load on application and check which layer is taking more time for responding/execution, so that we can think of scaling]

Horizontally scalable
Deploy applications on 100 small machines and check application performance.

Checkins
How many checkins manual/automation?
If manual, why they are manual. Any automation issues?
How many checkins are successful and how many are failures.

Internal/external defect ratio:
Quality of defects that the testing team rasied.

Test Execution Metrics:
Every day, the trend has to be followed on this test execution, which is more important.
In CI execution, test executions should be successfully passed and we made a goal that no builds should be in RED in two consecutive days. So that everyone works for this goal and we have releasable builds.

Defect Metrics:
·         Defect Category [Security/Performance/Functional]
This ratio tells the QA Manger that where is the major defects found, so that he can concentrate more in the next phase in these areas/categories.

·         Defect Density (should be less)
                Total defects found/Total no:of lines
Or
                Total defects found/Total requirements
Lesser the density, more quality is maintained.

·         Defect Detection Percentage:  [DDP should be great]
(should be more, greater the DDP, it tells the efficiency & reliability of testing process)

      No:of Defects found during testing/automation
= -------------------------------------------------------------------------        *100
    ( total no:of defects found in the testing phase + escaped defects + customer defects )


·         Defect Removal Efficiency: (greater the %, greater is the quality)
Generally DRE is calculated during the version release.
Total Defects resolved by dev/ total defects found * 100
Greater the count, great is the efficiency and accuracy.

·         Defects Leakage: (should be less)
Defects Slipped/total defects *100

·         Defect Severity Index (should lower, from phase to phase): An index representing the average of the severity of the defects. Provides a direct measurement of the quality of the product—specifically, reliability, fault tolerance and stability. Two measures are required to compute the defect severity index. A number is assigned against each severity level: 4 (Critical), 3 (Serious), 2 (Medium), 1 (Low). Multiply each remark by its severity level number and add the totals; divide this by the total number of defects to determine the defect severity index.

·         Defect containment is nothing but checking not to propagate defects from 1 phase 2 another phase

·         Mean time to Detect MTTD = No:of issues detected /execution time
·         Mean time to Resolve MTTR = No:of issues fixed /total coding time
This gives the QA manager details of how efficient the testers/developers are.



14 Leadership Principles examples.

  1. Customer Obsession
  2. Ownership
  3. Invent&Simplify
  4. Are Right a lot
  5. Learn & be curious
  6. Hire and develop the best
  7. Insist on high standards
  8. Think Big
  9. Bias for Action
  10. Frugality
  11. Earn Trust
  12. Dive Deep
  13. Have Backbone, disagree and commit
  14. Deliver results



Invent the economical approaches and simplify the things.
Automation Navigate to Page example.
For short term goals, I can’t sacrifice the long term goals.

Dive Deep: Due to my interest in coding, I keep taking the technical challenges.
Support the developers when required.
Eg: Google Collection Framework
Eg: Tell about the design change. Backingup of 500GB disks everytime no matter whether the content is there or not is tedious. Instead backup the files which will reduce the time and cost.

Learn new technologies, take trainings in management skills. Recent trainings on learn to unlearn”

Frugality: Economical. Make things reusable. Do not re-invent the wheel.
Navigate to Page.

Trust & Ownership: There was a merge with Dell, and people started looking out. Architects, managers, team...etc etc…
There were some layoffs as well. Existing team was very panic.
I took complete team to a room after the news and then gave them the clarity and shown them the future roadmap.
For the release, I asked all the team to put all action items on a board and what is that we can chew at this moment and then took the plan to release it.

Later talked to the director on the dates and the director was helpful in this regards, as she knows the situation and she appreciated for the effort I have kept.




Monday, May 15, 2017

Linux Interview Questions

Linux Interview Questions

What is awk?
awk (also written as Awk and AWK) is a utility that enables a programmer to write tiny but effective programs in the form of statements that define text patterns that are to be searched for in each line of a document and the action that is to be taken when a match is found within a line.
What is SED?
sed is a stream editor. A stream editor is used to perform basic text transformations on an input stream (a file, or input from a pipeline). ... But it is sed's ability to filter text in a pipeline which particularly distinguishes it from other types of editors.
Stream EDitor is used to perform basic transformations on text read from a file or a pipe. The result is sent to standard output. The syntax for the sed command has no output file specification, but results can be saved to a file using output redirection.
What is the use of cat command in Unix?
UNIX Basic commands: cat. The cat command reads one or more files and prints them to standard output. The operator > can be used to combine multiple files into one. The operator >> can be used to append to an existing file.
#cat proc/cpuinfo //gives the cpu info or  
#dmidecode also gives the cpu info
#cat proc/meminfo //gives the mem info
What is the grep?
grep is a command-line utility for searching plain-text data sets for lines matching a regular expression. Its name comes from the ed command g/re/p (globally search a regular expression and print), which has the same effect: doing a global search with the regular expression and printing all matching lines.
Diff between find and grep?
grep is used to search for string in a file
find is used to searche files or directories

Data Structures

WAP to implement Dynamic Stack


package com.java2novice.ds.stack;

public class MyDynamicStack {

    private int stackSize;
    private int[] stackArr;
    private int top;

    /**
     * constructor to create stack with size
     * @param size
     */
    public MyDynamicStack(int size) {
        this.stackSize = size;
        this.stackArr = new int[stackSize];
        this.top = -1;
    }

    /**
     * This method adds new entry to the top
     * of the stack
     * @param entry
     * @throws Exception
     */
    public void push(int entry){
        if(this.isStackFull()){
            System.out.println(("Stack is full. Increasing the capacity."));
            this.increaseStackCapacity();
        }
        System.out.println("Adding: "+entry);
        this.stackArr[++top] = entry;
    }

    /**
     * This method removes an entry from the
     * top of the stack.
     * @return
     * @throws Exception
     */
    public int pop() throws Exception {
        if(this.isStackEmpty()){
            throw new Exception("Stack is empty. Can not remove element.");
        }
        int entry = this.stackArr[top--];
        System.out.println("Removed entry: "+entry);
        return entry;
    }
 
    /**
     * This method returns top of the stack
     * without removing it.
     * @return
     */
    public long peek() {
        return stackArr[top];
    }

    private void increaseStackCapacity(){
     
        int[] newStack = new int[this.stackSize*2];
        for(int i=0;i<stackSize;i++){
            newStack[i] = this.stackArr[i];
        }
        this.stackArr = newStack;
        this.stackSize = this.stackSize*2;
    }
 
    /**
     * This method returns true if the stack is
     * empty
     * @return
     */
    public boolean isStackEmpty() {
        return (top == -1);
    }

    /**
     * This method returns true if the stack is full
     * @return
     */
    public boolean isStackFull() {
        return (top == stackSize - 1);
    }

    public static void main(String[] args) {
        MyDynamicStack stack = new MyDynamicStack(2);
        for(int i=1;i<10;i++){
            stack.push(i);
        }
        for(int i=1;i<4;i++){
            try {
                stack.pop();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}

Horton works

horton works


https://www.glassdoor.co.in/Interview/Hortonworks-QA-Automaiton-Engineer-Interview-Questions-EI_IE489054.0,11_KO12,34.htm


1) word sorting in a file 

2)kill process in remote servers. 
taskkill.exe/S SYSTEM /U USERNAME /P PASSWORD /IM PROCESS
eg: taskkill.exe /S wtn1 /U joe /P ddd1234 /PID 196
taskkill.exe /S wtn1 /U joe /P ddd1234 /PID 196 /F (forcefully terminate)
# pidof <processname> //gives the pidof process specified.
#kill -9 <pid of process> //-9 is special way of killing process.

3) Question about past experience on QA Automation and they asked details about QA Automaiton framework.



1)Java Code to print words in a file, and display in alphabetical order 

2)Better data structures that could be used & their time complexity 
3)Unix Questions on sed, grep, find 
4)Writing test cases for codes above 
5)Palndrome, String reversal code  


Mirror image of binary tree

Matrix row and column wise sorted find a given number
math related questions to be solved with equations
First unique word in the file
hashing a dictionary and designing the hash function
Binary search tree related ques and complexities and many more. Cannot recollect all  

Monday, May 1, 2017

Non-Tech


Why should we hire you?

Sample:
As you can see from my resume, I have the necessary qualifications and several years of experience, but that does not capture the unique advantages I can provide to the company. At my last job, I was given the opportunity to advance my skill set, even getting some experience with positions that were above my work level. I am confident that I can bring something to the table that no other candidate will.

N:
I have a skillset that matches your requirement and I continuously think on making things better and better.
I grow and let the team also grow which is pretty much required for any organization to grow.
These are the main qualities that any successful organization looks at.
Having said this, I have come to the current discussion with you clearing all the levels, it means that even your people think that I am right for this role.



What Is Your Biggest Regret And Why?


  • The hiring manager understands that everyone makes mistakes, so don’t worry about appearing perfect. Follow these tips to keep the interview running smoothly:
  • Do not use events of a personal nature in the interview.
  • Do not fail to show how a negative experience had a positive outcome.
  • Do not blame any past mistakes solely on others.
  • Avoid saying that you have no regrets.

  • Sample:Several years ago, my advertising team and I failed to land a large project from a major client. This particular individual had done some great work with us before, so I think we took it for granted that the client would choose our pitch. We didn’t put as much effort into researching the product and understanding the client’s needs, so frankly, she chose a better-prepared team. Since then, I make sure every project embodies professional excellence and dedication.

    N: Few years back I was managing a QA-Automation grp and my team, has to give a POC to existing customer whom I already know. I thought the earlier  relation, bidding, and the poc that my team has done will impress the customer. But it failed, reason behind the framework we developed requires good automation skills to maintain it. But on the other hand, they tried some other clients as well, they have shown BDD which doesnt require coding at all. So I feel this is the biggest regret, that I haven't read the customer well and was under assumption that with the relation we had, they will be satisfied with my POCs.


    Are you a leader or follower?

    N: It depends upon the task. If the task is completely new to me, I am a follower of a leader who better knows the subject than me. If I am expert in the task then, I am a leader.
    When a group needed a leader, I was more than capable of handling that role, but at the same time, I recognize when it is better to take a step back and take direction from someone who is more knowledgeable than I am.







    Sunday, April 30, 2017

    WAP

    WAP to check if the string is palindrom ?
            String s="abaa";
            String s_rev = "";
            for (int rev =s.length()-1;rev>=0;rev--){
               s_rev=s_rev+s.charAt(rev);
            }
            if (s.equals(s_rev))
                System.out.println("palindrom");
            else
              System.out.println("not a palindrom");

    or

    Public boolean is_palindrome(String s, int i, int j){
             while(i<j){
                    if(s.charAt(i)!=s.charAt(j)){
                             return false;
                    }
                    i++;
                    j--;
             }
             return true;
    }

    ========================================================================
    Given an array of integers, every element appears twice, except for one. Find that single one.
    public class Solution {
        public int singleNumber(int[] nums) {
            
            int result = 0;
            for(int i : nums) {
                result ^= i;
            }
             return result;
        }
    }
    ========================================================================WAP to check if the Number is Palindrom?

    1. class PalindromeExample{  
    2.  public static void main(String args[]){  
    3.   int r,sum=0,temp;    
    4.   int n=454;//It is the number variable to be checked for palindrome  
    5.   
    6.   temp=n;    
    7.   while(n>0){    
    8.    r=n%10;  //getting remainder  
    9.    sum=(sum*10)+r;    
    10.    n=n/10;    
    11.   }    
    12.   if(temp==sum)    
    13.    System.out.println("palindrome number ");    
    14.   else    
    15.    System.out.println("not palindrome");    
    16. }  
    17. }  
    ========================================================================WAP for input string=aabbbccccaaa, maintain the insertion order and output should be like a2b3c5a3


    public class CountAlphabets {

        public static void process(String mystring) {
            StringBuilder sb = new StringBuilder();
            char[] mychar = mystring.toCharArray();
            int count = 1;
            for(int i=0; i< (mychar.length)-1;i++) {
                //System.out.println("mychar[p1]: "+mychar[i]+" mychar[p2]: "+mychar[i+1]);
                if(mychar[i] == mychar[i+1]) {
                    count = count+1;
                    //System.out.println("count: "+count);
                }
                else {
                    sb.append(mychar[i]);
                    sb.append(count);
                    count = 1;
                }
                if(i==(mychar.length)-2) {
                    sb.append(mychar[i+1]);
                    sb.append(count);
                }
            }
            System.out.println(sb.toString());
        }

        public static void main(String[] args) {
            process("aabbbcccca");
            process("ggggyyynnnkkkkkk");
            process("aabbcccdef");
            process("abcdefghj");
        }
    ========================================================================
    Print the numbers with same first and last digit
    import java.util.*;
    import java.lang.*;
    import java.io.*;

    class GFG {
    public static void main (String[] args) {
    Scanner sc = new Scanner(System.in);
    int num = sc.nextInt();
    String s="";
    for (int i=0;i<num;i++){
       long leftMost = sc.nextInt();
       long rightMost = sc.nextInt();
       List<Long> res = new ArrayList<>();
       for(long j=leftMost;j<=rightMost;j++){
           s = String.valueOf(j);
           if(s.charAt(0)==s.charAt(s.length()-1)){
               res.add(j);
           }
       }
       System.out.println(res);
    }
    }
    }
    =======================================================================
    WAP to read a file and sort the content and write into another file.

    import java.io.BufferedReader;
       import java.io.FileReader;
       import java.io.FileWriter;
       import java.io.PrintWriter;
       import java.util.ArrayList;
       import java.util.Collections;
       import java.util.List;
    
        public class sort {
    
        public static void main(String[] args) throws Exception {
    
        String inputFile = "test.txt";
        String outputFile = "sort.txt";
    
        FileReader fileReader = new FileReader(inputFile);
        BufferedReader bufferedReader = new BufferedReader(fileReader);
        String inputLine;
        List<String> lineList = new ArrayList<String>();
        while ((inputLine = bufferedReader.readLine()) != null) {
            lineList.add(inputLine);
        }
        fileReader.close();
    
        Collections.sort(lineList);
    
        FileWriter fileWriter = new FileWriter(outputFile);
        PrintWriter out = new PrintWriter(fileWriter);
        for (String outputLine : lineList) {
            out.println(outputLine);
        }
        out.flush();
        out.close();
        fileWriter.close();
    
              }
         }
    =================================================================================
    WAP to do string reverse:
    Eg: Same Hello World
    i) o/p: dlrow olleh emaS  
    [5ways to do this: http://javahungry.blogspot.com/2014/12/5-ways-to-reverse-string-in-java-with-example.html]
    ii) Another WAP to make "World Hello Same"
    i) First Program: 
    import java.io.*;
    import java.util.*;
    
    public class reverseString {
     public static void main(String[] args) {
        String input = "Be in present";
        char[] temparray= input.toCharArray();
        int left,right=0;
        right=temparray.length-1;
        for (left=0; left < right ; left++ ,right--){
         // Swap values of left and right 
         char temp = temparray[left];
         temparray[left] = temparray[right];
         temparray[right]=temp;
        }
        for (char c : temparray)
         System.out.print(c);
        System.out.println();
       }}
    o/p: tneserp ni eB
    
    
    ii)
    public class HelloWorld{
         public static void main(String []args){ 
            String word= "Scanner isn't working";
            String revWord="";
            String[] words = word.split(" ");
            for (int i=words.length-1;i>=0;i--){
                revWord = revWord+" "+words[i];
            }
            System.out.println("Reverse Words:"+revWord.trim());
        }
    }
    
    o/p: working isn't Scanner
    or
    Here we reverse the cells, so the performance/speed is doubled than the above approach.
    
    
    import java.util.Scanner;
    
    public class HelloWorld{
    
         public static void main(String []args){
            String word= "Scanner isn't working, needs to be checked";
            
            String[] words = word.split(" ");
            int left=0, right= words.length-1;
    
            for (left=0; left < words.length/2 ; left++ ,right--)
                {
                 // Swap values of left and right 
                 String temp = words[left];
                 words[left] = words[right];
                 words[right]=temp;
                }
                
            for (String xyz: words){
                System.out.print(xyz+" ");}
        }
    }
    
    
    
    
    
    
    }
    ==============================================================

    Determine If String Has All Unique Characters : Java Code With Example

    (http://javahungry.blogspot.com/2014/11/string-has-all-unique-characters-java-example.html)
    
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.HashSet;
    
    public class HelloWorld {
        
        public static void main (String args[])
        {
            boolean result=false;
            String inputstring="Alve i@wsom";
            System.out.println(inputstring);
            HashSet < Character> uniquecharset= new HashSet();
            for(int i=0;i < inputstring.length();i++)
            {
                result=uniquecharset.add(inputstring.charAt(i));
                if (result == false)
                break;
            }
        System.out.println(result); }
    }
    
    
    ==============================================================
    Sort without sort method:
    1. package com.Instanceofjava; 
    2. public class SortString {
    3.  
    4. public static void main(String[] args) {
    5.  
    6. String original = "edcba";
    7. int j=0;
    8. char temp=0;
    9.  
    10.   char[] chars = original.toCharArray();
    11.  
    12.   for (int i = 0; i <chars.length; i++) {
    13.  
    14.       for ( j = 0; j < chars.length; j++) {
    15.  
    16.        if(chars[j]>chars[i]){
    17.             temp=chars[i];
    18.            chars[i]=chars[j];
    19.            chars[j]=temp;
    20.        }
    21.  
    22.    }  
    23.  
    24. }
    25.  
    26. for(int k=0;k<chars.length;k++){
    27. System.out.println(chars[k]);
    28. }
    29.  
    30. }
    31.  
    32. }
     In Python:
    unsort_list = ["B", "D", "A", "E", "C"]
    sort_list = []
    
    while unsort_list:
        smallest = min(unsort_list)
        sort_list.append(smallest)
        unsort_list.pop(unsort_list.index(smallest))
    
    print sort_list
    
    

    =============================================================Find duplicates elements in list and print the unique list:

    def duplicate(input_list):  
            a = input_list
            b= []  
            for i in range(len(a)):
                    if a[i] not in b:
                            b.append(a[i])         
           
            return b
            if __name__=='__main__':
                        print duplicate([1,2,3,4,5,4,3,2,'Hello','World','Hello'])
    
    

    ==============================================================

    WAP to find maximum sum of continguos Array.

    # Python program to find maximum contiguous subarray
    # Function to find the maximum contiguous subarray
    from sys import maxint
    def maxSubArraySum(a,size):
        max_so_far = max_ending_here = 0
        for i in range(0, size):
            max_ending_here = max_ending_here + a[i]
            if max_ending_here < 0:
                  max_ending_here = 0  
            elif (max_so_far < max_ending_here):
                                   max_so_far = max_ending_here
    return max_so_far
    If the list contains negative integers, the above code fails, hence below is the code for that:
    def maxSubArraySum(a,size):

         

        max_so_far =a[0]

        max_ending_here = a[0]

         
        for i in range(1,size):
            max_ending_here = max(a[i], max_ending_here + a[i])
            max_so_far = max(max_so_far,max_ending_here )
             
        return max_so_far
    ==============================================================
    WAP to find first non-repeative char in given string:
    def nonrepchar(word):
            out = []
            for i in range(len(word)):
                    if word[i] not in out:
                            out.append(word[i])
            
            print out[0]
            
    if __name__ == '__main__':
        nonrepchar("atester")   //prints 'a'
    
    
    ==============================================================
    Display the contents of the file in reverse order:
    1. convert the given file into a list.
    2.  reverse the list by using reversed() for line in reversed(list(open(“file-name”,”r”))):          print(line)
    ==============================================================
    LinkedList reversal:
    Public static Node Reverse(Node head)
    {
     Node current = head;
     Node prevNode = null;
     Node nextNode = null;
    
     While ( current != null)
     {
      nextNode = current.next;
      current.next = prevNode;
      prevNode = current;
      current = nextNode; 
     }
     return prevNode;