<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: shashi</title>
    <description>The latest articles on DEV Community by shashi (@ssh3).</description>
    <link>https://dev.to/ssh3</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1799652%2Ffbcacb34-e77b-435e-9a72-90f046971350.jpg</url>
      <title>DEV Community: shashi</title>
      <link>https://dev.to/ssh3</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ssh3"/>
    <language>en</language>
    <item>
      <title>Zilo SDE-2 Backend Interview(2025)</title>
      <dc:creator>shashi</dc:creator>
      <pubDate>Wed, 26 Nov 2025 15:20:30 +0000</pubDate>
      <link>https://dev.to/ssh3/zilo-sde-2-backend-interview-5dm</link>
      <guid>https://dev.to/ssh3/zilo-sde-2-backend-interview-5dm</guid>
      <description>&lt;p&gt;R1&lt;br&gt;
largest substring with-out repeating charectors&lt;/p&gt;

&lt;p&gt;R2&lt;/p&gt;

&lt;p&gt;Person&lt;br&gt;
`&lt;br&gt;
Gender&lt;br&gt;
OG1&lt;br&gt;
M &lt;br&gt;
F&lt;br&gt;
M&lt;br&gt;
F&lt;br&gt;
M&lt;br&gt;
M&lt;/p&gt;

&lt;p&gt;F&lt;br&gt;
M&lt;br&gt;
F&lt;br&gt;
M&lt;br&gt;
F&lt;br&gt;
F&lt;/p&gt;

&lt;p&gt;// Q -&amp;gt;  4&lt;br&gt;
&lt;code&gt;&lt;br&gt;
-&amp;gt; with, value , case &lt;br&gt;
&lt;/code&gt;Select id from person p where p.gender =‘M’ —&amp;gt; set1&lt;br&gt;
Select id from person p where p.gender =‘F’. -&amp;gt; set2`&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Update person p set p.gender = ‘F’ where p.id in (set1)&lt;br&gt;
Update person p set p.gender = ‘M’ where p.id in (set2)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;how to do it in single go ?&lt;/p&gt;

&lt;p&gt;&lt;code&gt;UPDATE person&lt;br&gt;
SET gender = CASE &lt;br&gt;
                WHEN gender = 'M' THEN 'F'&lt;br&gt;
                WHEN gender = 'F' THEN 'M'&lt;br&gt;
                ELSE gender   -- optional: keep others unchanged&lt;br&gt;
             END;&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

</description>
      <category>interview</category>
    </item>
    <item>
      <title>Goldman Sachs SDE-1 Interview Experience (2024)</title>
      <dc:creator>shashi</dc:creator>
      <pubDate>Wed, 24 Jul 2024 18:24:52 +0000</pubDate>
      <link>https://dev.to/ssh3/goldman-sachs-sde-1-interview-experience-1obo</link>
      <guid>https://dev.to/ssh3/goldman-sachs-sde-1-interview-experience-1obo</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmbs20s3l3jgc76yh45zu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmbs20s3l3jgc76yh45zu.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import java.util.HashMap;
import java.util.Map;

public class GoldmanSachs {



    /******************************************************************************

     Given an integer array nums and an integer k, return the length of the shortest non-empty subarray of nums
     with a sum of at least k.

     Input : [2,7,3,-8,4,10], target = 12
     Output : 2

     *******************************************************************************/


        static int pathSum=Integer.MAX_VALUE;
        public static void main(String[] args) {
            int nums[] = {2,7,3,-8,4,10};

//      System.out.println(shortest(nums, 12));

            pathSum=dfs(new int[][]   {{ 1, 3 ,1},
                            {1, 5, 1},
                            {4, 2, 1}},
                    0,
                    0,
                    3,
                    3,
                    1,
                    Integer.MAX_VALUE,
                    new HashMap&amp;lt;&amp;gt;()
            );

            System.out.println(pathSum);
            /*. 2, 9, 12, 4, 8, 18*/
        }
        public static int shortest(int nums[], int target){

            int shortestSubArrLen=Integer.MAX_VALUE, n= nums.length ;

            for( int i=0;i&amp;lt;n; i++){
                int currSum=0;

                for( int j=i; j&amp;lt;n; j++){

                    currSum+=nums[j];

                    if( currSum &amp;gt;= target) {
                        shortestSubArrLen=Math.min(shortestSubArrLen, j-i+1);
                        break;
                    }

                }
            }

            return shortestSubArrLen;

        }
    /*
         [ 1, 3 ,1]
         [1, 5, 1]
        [4, 2, 1]

        1 , 1, ,4, 2, ,1. --&amp;gt; 1
                5,  1, 1
                5, 2, , 1




    */


        public static int dfs( int[][] grid, int i, int j, int r, int c,int currSum, int pathSum, Map&amp;lt;String,Integer&amp;gt; cache ){


            String key="";
            if( cache.containsKey(key) ) return cache.get(key);


            if( i&amp;gt;=r || j &amp;gt;=c  || i&amp;lt;0 || j&amp;lt;0) return 0;

            if( i == r-1 &amp;amp;&amp;amp; j==c-1) {
                pathSum= Math.min(pathSum , currSum);
                return pathSum ;
            }

            currSum+=grid[i][j];

            //left
            int left= dfs(grid,i, j+1, r, c, currSum,pathSum,cache);

            //bottom
            int right= dfs(grid, i+1,j, r, c, currSum,pathSum,cache);

            return Math.min(left, right);

        }
    }


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;result : not selected&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>interview</category>
    </item>
    <item>
      <title>Winsen SDE-1 Interview Experience (2024)</title>
      <dc:creator>shashi</dc:creator>
      <pubDate>Wed, 24 Jul 2024 18:23:17 +0000</pubDate>
      <link>https://dev.to/ssh3/winsen-sde-1-interview-experience-2024-4mb3</link>
      <guid>https://dev.to/ssh3/winsen-sde-1-interview-experience-2024-4mb3</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftlaxu5bngoac0r3df2g9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftlaxu5bngoac0r3df2g9.png" alt=" " width="200" height="200"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import java.util.*;

public class winsen {



    /* T : n^2 S: O(1)    2, 3, 5, 7, */
    public static int  countPrime(int n){
        int count=0;

        for ( int i=2; i&amp;lt;=n; i++){
            if( isPrime(i)) count++;
        }

        return count;

    }

    public static boolean isPrime(int n){
        if( n&amp;lt;2) return  true;

        for( int i=2; i&amp;lt;n ; i++){
            if( n%i==0) return false;
        }
        return  true;
    }




    /*
    *  2, 4, 6, 8
    *  3, 6, 9,
    *  4, 8,
    *  5, 10
    *
    * */
    public static int  countPrimeSteveOfEreross(int n){
         int[] arr = new int[n+1];

        Arrays.fill(arr, 1);

        arr[0]=0;
        arr[1]=0;

        for( int i=2; i&amp;lt;=n; i++){  // O(n)
            int   j=2;
            while ( i*j &amp;lt;= n){  // O(n) ...  O(n^2)
                arr[i*j]=0;
                j++;
            }
        }

        int primeCount=0;
        for(int i: arr) primeCount+=i;
        return  primeCount;
    }


    /*
    *
    * Input: s = "abpcplea",
    * dictionary = ["ale","apple","monkey","plea"]   --&amp;gt; []
      Output: "apple"

       Input: s = "abpcplea", dictionary = ["a","b","c"]
       Output: "a"
    *
    *
    *     T : O (n log(N) ). +   M*N*K
    *
    *
    *
    * */

    public static String lexSmallStringByRemovingSomeCharsFromString( String str, String[] dict){

        List&amp;lt;String&amp;gt;  possibleStrings= new ArrayList&amp;lt;&amp;gt;();
        for( String s : dict){            // T : O(len(dict))
            if( isPossible( str, s)) possibleStrings.add(s);
        }

        if (possibleStrings.isEmpty()) return  "";

        Collections.sort(possibleStrings , (a,b) -&amp;gt;  ( b.length()-a.length())  );  // T : O(nlog(n))

       System.out.println(possibleStrings);

        return  possibleStrings.stream()
                .filter(  strr -&amp;gt; strr.length()==possibleStrings.get(0).length())
                .sorted().findFirst().orElse("");  // T : O(nlog(n))
    }

    public  static  boolean isPossible( String str, String s){
        int m = str.length(), n= s.length(), i=0, j=0;

        while (i&amp;lt;m &amp;amp;&amp;amp; j&amp;lt;n){
            if( str.charAt(i) == s.charAt(j)){    // T : O(max(m,n))
              i++;
              j++;
            }else  i++;
        }

      return j == n;

    }


    /**
    *  what is interface?
     * what is difference between hashmap &amp;amp; concurrent hashmap
     * what is functional interface
     * what is SOLID principles
     * what are Design patterns
     * what are error handling methods
     * what is method overloading &amp;amp; overriding
     * what is abstraction &amp;amp; encapsulation
     * what is horizontal scaling &amp;amp; vertical scaling
     * how to make a class immutable
     * what are immutable classes other than String, all wrapper class are immutable for example. Integer, Double,Float, Character etc..
    * */
    }

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;result : not selected&lt;/p&gt;

</description>
      <category>interview</category>
      <category>webdev</category>
      <category>java</category>
    </item>
    <item>
      <title>Zenoti SDE-1 Interview Experience (2024)</title>
      <dc:creator>shashi</dc:creator>
      <pubDate>Wed, 24 Jul 2024 18:18:45 +0000</pubDate>
      <link>https://dev.to/ssh3/zenoti-sde-1-interview-experience-2024-4mf5</link>
      <guid>https://dev.to/ssh3/zenoti-sde-1-interview-experience-2024-4mf5</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbmvoylf9l54mczjmic79.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbmvoylf9l54mczjmic79.png" alt=" " width="800" height="228"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.*;

public class Zenoti {

    /*Zenoti dotnet software engineer*/

    /*Online test : Status pass*/

        public static void main1(String args[] ) throws Exception {
            Scanner sc=new Scanner(System.in);
            int n=sc.nextInt();
            while(n &amp;gt; 0){
                String str=sc.next();
                Map&amp;lt;Character,Integer&amp;gt; fhMap=new LinkedHashMap&amp;lt;&amp;gt;();

                for(char ch : str.toCharArray()){
                    fhMap.put(ch, fhMap.getOrDefault(ch,0)+1);
                }

                StringBuilder sb=new StringBuilder();
                for(char ch : fhMap.keySet()){
                    sb.append(ch);
                    sb.append(fhMap.get(ch));
                }
                System.out.println(sb);
                n--;
            }

        }


    public static void main2(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter wr = new PrintWriter(System.out);
        String S = br.readLine();

        String[] out_ = tokenize_string(S);
        for (int i_out_ = 0; i_out_ &amp;lt; out_.length; i_out_++)
        {
            System.out.println(out_[i_out_]);
        }

        wr.close();
        br.close();
    }
    static String[] tokenize_string(String S){
        char[] chr= S.toCharArray();
        int f=-1;
        List&amp;lt;String&amp;gt; str=new ArrayList&amp;lt;&amp;gt;();
        StringBuilder sb=new StringBuilder();
        for(int i=0;i&amp;lt;chr.length;i++){

            if(chr[i]==' ' &amp;amp;&amp;amp; f==-1) {
                str.add(sb.toString());
                sb=new StringBuilder();
            }

            if(f!=-1 &amp;amp;&amp;amp; chr[i]=='"'){
                sb.append(chr[i]);
                str.add(sb.toString());
                sb=new StringBuilder();
                f=-1;
                continue;
            }

            if(chr[i]=='"'){
                f=i;
            }
            sb.append(chr[i]);
        }

        String[] ans=new String[str.size()];
        for(int i=0;i&amp;lt;str.size();i++){
            ans[i]=str.get(i).trim();
        }


        return ans;
    }

    public static void main3(String args[] ) throws Exception {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        while(n&amp;gt;0){
            String str=sc.next();
            StringBuilder sb=new StringBuilder();

            for(char ch : str.toCharArray()){
                if(ch &amp;gt;=65 &amp;amp;&amp;amp; ch &amp;lt;=90){
                    if(sb.length()!=0) sb.append('_');
                    sb.append((char) (ch+32));
                }else{
                    sb.append(ch);
                }
            }

            System.out.println(sb.toString());
            n--;
        }
    }


    /*[19/04/2024] Interview questions on hacker earth : status pass*/

    /**
     *       1
     *     1 2 1
     *   1 2 3 2 1
     * 1 2 3 4 2 3 1
     */

    /*Time : O(N^2) Space :O(1)*/
    public  static  void printPattern(int n) {
        for(int i=0;i&amp;lt;=n;i++) {
            int k=n-i;
            while(k--&amp;gt;0) System.out.print(" ");
            for (int j = 1; j &amp;lt;= i; j++) System.out.print(j +" ");
            for (int j = i-1; j &amp;gt;0; j--) System.out.print(j +" ");
            System.out.println();
        }
    }



    /*Time :O(2^n) Space :O(1) + (call stack space)*/
    public int fib(int n ){
        if(n&amp;lt;2) return  1;
        return fib(n-1)+fib(n-2);
    }

    /*Time :O(n) Space :O(1) + (call stack space)*/
    public int fibMemo(int n,     Map&amp;lt;Integer,Integer&amp;gt; memo){
        if(n&amp;lt;2) return  1;
        if(memo.containsKey(n)) return memo.get(n);
        memo.put(n, fib(n-1)+fib(n-2));
        return memo.get(n);
    }

    /*Time : O(n) Space :O(n)*/
    public int fibTab(int n){
        if(n&amp;lt;2) return 1;
        int[] dp =new int[n+1];
        for(int i=2;i&amp;lt;n;i++)  dp[i]=dp[i-1]+dp[i-2];
        return dp[n];
    }

    /*
    * given three tables, we need to query certain data on the tables;
    *
    * Select students.name from students_table  where id in (
    * select students_id in attendance_table left join
    * lecture_table on attendance_table.lecture_id =lecture_table
    * )
    * order by students.name
    * */


    /* [22/04/2024] :Interview on hacker earth*/
    public static void sortWords(String paragraph){
        String[] words=paragraph.split(" ");
        Arrays.sort(words);
        System.out.println(Arrays.toString(words));
    }

    /*[24/04/2024] : Interview on hacker earth*/
    public void findFirstTwoMax(int[] arr){

        /*constraints:  without sorting  array, without using extra loops */
        int fMax=Integer.MIN_VALUE, sMax=Integer.MIN_VALUE;

        for(int i: arr){
            if(i&amp;gt;fMax){
                sMax=fMax;
                fMax=i;
            }else sMax=Math.max(sMax,i);
        }
        System.out.println(fMax +" , "+sMax);
    }
    public boolean isAnagram(String s, String t){
        int[] asciiArr=new int[256];

        /*constraints: without using extra loops &amp;amp; extra hashmaps*/
        if(s.length()!=t.length()) return false;

        for(int i=0; i&amp;lt;s.length(); i++) {
            asciiArr[s.charAt(i)]++;
            asciiArr[t.charAt(i)]--;
        }

        for(int i:asciiArr)
             if(i&amp;gt;0) return false;

        return true;
    }

    /*sql*/
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;result : not selected &lt;/p&gt;

</description>
      <category>interview</category>
      <category>dotnet</category>
      <category>java</category>
    </item>
    <item>
      <title>Morning Star SDE-1 Interview Experience (2024)</title>
      <dc:creator>shashi</dc:creator>
      <pubDate>Wed, 24 Jul 2024 18:14:53 +0000</pubDate>
      <link>https://dev.to/ssh3/morning-star-sde-1-interview-experience-6ja</link>
      <guid>https://dev.to/ssh3/morning-star-sde-1-interview-experience-6ja</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F827hiyzsc25g0npdrpou.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F827hiyzsc25g0npdrpou.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;


/*interviewer  : kalviya, mayur*/
//@RestController
public class Morningstar {

    /*employees , with shashi*/

    class employees{
        private  String name;
    }

//    @GetMapping("/get/{name} ?val= val1&amp;amp; var2=val2")
    public void function(
//            @PathVariable
            String name){

        List&amp;lt;employees&amp;gt; employees= new ArrayList&amp;lt;&amp;gt;();

        employees.stream().filter(employeesRec -&amp;gt;employeesRec.name.equals(name)).collect(Collectors.toList());
    }

    /**
    put : update;
    post : insert data; --&amp;gt; body

    name various spring anotations

     @bean vs @component
     @service

     abstract vs interfaces

     functional interfaces --&amp;gt; not answered

     oops
     object o
     **/

    /*
    *  [Interview 2 :  name starts with g manager]
    *  introduce your self?
    *  what is tech stack?
    *  what is your  experience with postgres?
    *  what is your experience with spring boot?
    *  what is  your experience with python?
    *  what is your experience with gcp?
    *  what is your experience e with the deployments?
    *  what is your experience REST api's?
    *  are you serving notice period?
    *  what are your salary expectations?
    *  why do you want to quit the jsw one platforms?
    *  why do you quit the tvarana ?
    *  what is the recent project you have worked on ?
    *
    * */

}


/* [ mayor told to concentrate on these ]
* Java Basics:
What is the difference between JDK, JRE, and JVM?
JDK (Java Development Kit): It's a software development kit that includes tools for developing Java applications. It contains JRE, compiler, debugger, etc.
JRE (Java Runtime Environment): It's a runtime environment that is needed to run Java applications. It includes JVM and libraries.
JVM (Java Virtual Machine): It's an abstract machine that provides a runtime environment in which Java bytecode can be executed.
*
*
What is the difference between == and equals() method in Java?
== is an operator used to compare references (memory addresses) of objects.
equals() is a method used to compare the content or values of objects. It's overridden from the Object class.

* What is the difference between checked and unchecked exceptions in Java?
  Checked Exceptions: These are checked at compile-time. Methods must either handle them using try-catch blocks or declare them in the method signature using throws keyword.
  Unchecked Exceptions: These are not checked at compile-time. They occur at runtime and are subclasses of RuntimeException. They don't need to be explicitly handled.
  Data Structures and Algorithms (DSA) Basics:
*
*
What is a linked list?
A linked list is a linear data structure consisting of a sequence of elements where each element points to the next element in the sequence.

* Explain the difference between an array and a linked list.
  Array: Fixed size, contiguous memory allocation, random access, efficient for accessing elements by index.
  Linked List: Dynamic size, non-contiguous memory allocation, sequential access, efficient for insertion and deletion at any position.

* What is the time complexity of searching in a binary search tree (BST)?
  The time complexity of searching in a BST is O(log n) on average and O(n) in the worst-case scenario.
*
*
Spring Boot:
What is Spring Boot?
Spring Boot is a framework built on top of the Spring framework that simplifies the process of building and deploying production-ready Java applications.
Explain the concept of auto-configuration in Spring Boot.
Auto-configuration automatically configures Spring beans based on classpath settings, reducing the need for manual configuration.
*
*
What are the main features of Spring Boot?
Simplified dependency management, auto-configuration, embedded HTTP server support, production-ready features (metrics, health checks, etc.), and easy integration with other Spring projects.

*
* Java 8:
  What are the main features introduced in Java 8?
  Lambda expressions, Stream API, Functional interfaces, Default and static methods in interfaces, Optional class, Date and Time API (java.time package), etc.

*
* What is a lambda expression in Java?
  A lambda expression is a concise way to represent an anonymous function. It provides a clear and concise syntax for writing code.

*
* Explain the Stream API in Java 8.
  The Stream API is used to process collections of objects in a functional way. It provides methods to perform aggregate operations on collections such as filter, map, reduce, etc.

    * 10.5, 13.4
    * * */

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;result : selected&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Moengage SDE-2 Interview Experience (2024)</title>
      <dc:creator>shashi</dc:creator>
      <pubDate>Wed, 24 Jul 2024 18:13:34 +0000</pubDate>
      <link>https://dev.to/ssh3/moengage-sde-2-interview-experience-11g4</link>
      <guid>https://dev.to/ssh3/moengage-sde-2-interview-experience-11g4</guid>
      <description>&lt;p&gt;Dsa question asked&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4z5c3kspjij0l44zdia2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4z5c3kspjij0l44zdia2.png" alt=" " width="800" height="219"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public class Moengage {

/*
    We are focusing on an organized car service station. This station maintains constant service duration for every car.
    Suppose we have n number of customers (1 through n), each with an individual car in need of service. Each customer, denoted as i,
    holds a profit, pi, and a distinct servicing deadline, di.

    Your responsibility is to strategically arrange the servicing of cars in a manner that allows for the number of cars to be
    serviced prior to their individual deadlines to maximize profitability


    Input :
    n= 5
    p= [1, 2 , 2,  3, 4]
    d= [2, 4,  3,  4, 5]  //days


            [2,1] , [3,2] , [4,3] ,[4,2], [5,4]  ⇒   1+ 2+3
            0        1       2          3      4
    t=1

    Max profit  →(  take orders as many as possible ) + ( orders which are payinme more ) //



            5
            2 100
            1 19
            2 27
            1 25
            1 15


            5 * 2


    Int maxProfit( int n, int[] p, int[] d){

        Map&amp;lt; Integer, List&amp;lt; Integers &amp;gt;&amp;gt; dayCarProfitMap = new TreeMap&amp;lt;&amp;gt;();  // i need a sorted list keys

        Int maxDay =Integer.MIN_VALUE;

        for( int i =0 ; i&amp;lt;n ;i++){

            carProfitList = dayCarProfitMap.getOrdefault(  d[ i ] , new ArrayList&amp;lt;&amp;gt;()  );
            carProfitList.add( p[ i ] );

            dayCarProfitMap.put(  d[ i ] , carProfitList    );
        }

        for(  int deadline : dayCarProfitMap. getKeys()  ){

            maxDay= Math.max( maxDay, deadLine);
            Collections.sort ( dayCarProfitMap.get( deadline ) , reverse = true);

        }

        Int profit= 0

        for(  int  day =0 ; day &amp;lt; maxDay  ; day ++) {

            carProfitList = dayCarProfitMap.getFirst( );
            Int currProft= carProfitList.remove( 0 );
            Profit +=    currProft;

            dayCarProfitMap.put( day,  carProfitList);
        }

        Return profit


    }
    */

}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;result : not selected &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Egen AI SDE-1 Interview Experience (2024)</title>
      <dc:creator>shashi</dc:creator>
      <pubDate>Wed, 24 Jul 2024 18:11:22 +0000</pubDate>
      <link>https://dev.to/ssh3/egen-ai-sde-1-interview-experience-4gg</link>
      <guid>https://dev.to/ssh3/egen-ai-sde-1-interview-experience-4gg</guid>
      <description>&lt;p&gt;System design question &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr00a4h7qapkgf8x81i4f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr00a4h7qapkgf8x81i4f.png" alt=" " width="520" height="208"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import java.util.*;

public class EgenAi { static class Account {
    private String timestamp;
    private String accountId;
    private Long balance;
    private Long totalTransactions;

    Account(String timestamp, String accountId, Long balance, Long totalTransactions) {
        this.timestamp = timestamp;
        this.accountId = accountId;
        this.balance = balance;
        this.totalTransactions = totalTransactions;
    }

    public void setBalance(Long amount) {
        this.balance = amount;
    }

    public void setTotalTransactions(Long amount) {
        this.totalTransactions = amount;
    }

    public String getAccountId() {
        return accountId;
    }

    public Long getTotalTransactions() {
        return totalTransactions;
    }
}

    static boolean createAccount(String timestamp, String accountId, HashMap&amp;lt;String, Account&amp;gt; db) {
        if (db.containsKey(accountId)) return false;
        db.put(accountId, new Account(timestamp, accountId, 0L, 0L));
        return true;
    }

    static String pay(String timestamp, String accountId, String amount, HashMap&amp;lt;String, Account&amp;gt; db) {
        if (!db.containsKey(accountId) || db.get(accountId).balance &amp;lt; Long.valueOf(amount)) return "";
        Account acc = db.get(accountId);
        acc.setBalance(acc.balance - Long.valueOf(amount));
        acc.setTotalTransactions(acc.getTotalTransactions() + Long.valueOf(amount));
        db.put(accountId, acc);
        return String.valueOf(acc.balance);
    }

    static String deposit(String timestamp, String accountId, String amount, HashMap&amp;lt;String, Account&amp;gt; db) {
        if (!db.containsKey(accountId)) return "";
        Account acc = db.get(accountId);
        acc.setBalance(acc.balance + Long.valueOf(amount));
        acc.setTotalTransactions(acc.getTotalTransactions() + Long.valueOf(amount));
        db.put(accountId, acc);
        return String.valueOf(acc.balance);
    }

    static String topActivity(String timeStamp, String n, HashMap&amp;lt;String, Account&amp;gt; db) {
        StringBuilder sb = new StringBuilder();
        List&amp;lt;Account&amp;gt; valuesList = new ArrayList&amp;lt;&amp;gt;(db.values());

        Collections.sort(valuesList, new Comparator&amp;lt;Account&amp;gt;() {
            @Override
            public int compare(Account a1, Account a2) {
                int compareByTransactions = a2.getTotalTransactions().compareTo(a1.getTotalTransactions());
                if (compareByTransactions == 0) {
                    return a1.getAccountId().compareTo(a2.getAccountId());
                } else {
                    return compareByTransactions;
                }
            }
        });

        int count = 0;
        for (Account account : valuesList) {
            sb.append(account.getAccountId()).append("(").append(account.getTotalTransactions()).append("), ");
            count++;
            if (count &amp;gt;= Integer.valueOf(n)) {
                break;
            }
        }

        if (sb.length() &amp;gt; 0) {
            sb.setLength(sb.length() - 2);
        }

        return sb.toString();
    }

    static String[] solution(String[][] queries) {
        HashMap&amp;lt;String, Account&amp;gt; db = new HashMap&amp;lt;&amp;gt;();
        String[] ans = new String[queries.length];
        int q = 0;

        for (String[] query : queries) {
            if ("CREATE_ACCOUNT".equals(query[0])) {
                ans[q++] = String.valueOf(createAccount(query[1], query[2], db));
            } else if ("DEPOSIT".equals(query[0])) {
                ans[q++] = deposit(query[1], query[2], query[3], db);
            } else if ("PAY".equals(query[0])) {
                ans[q++] = pay(query[1], query[2], query[3], db);
            } else if ("TOP_ACTIVITY".equals(query[0])) {
                ans[q++] = topActivity(query[1], query[2], db);
            }
        }
        return ans;
    }


    /*
    *
    * {{"CREATE_ACCOUNT","1","account1"},
{"CREATE_ACCOUNT","2","account2"},
{"DEPOSIT","3","account1","2000"},
{"DEPOSIT","4","account2","1000"},
{"PAY","5","account1","500"},
{"PAY","6","account1","1000"},
{"PAY","7","account2","1000"}}


{{"CREATE_ACCOUNT","1","account1"},
{"CREATE_ACCOUNT","2","account2"},
{"CREATE_ACCOUNT","3","account3"},
{"DEPOSIT","4","account1","1000"},
{"DEPOSIT","5","account2","1000"},
{"DEPOSIT","6","account3","1000"},
{"PAY","7","account2","100"},
{"PAY","8","account2","500"},
{"PAY","9","account2","2000"},
{"PAY","10","account2","500"},
{"PAY","11","account3","700"},
{"PAY","12","account1","800"},
{"TOP_ACTIVITY","13","2"},
{"TOP_ACTIVITY","14","3"},
{"TOP_ACTIVITY","15","4"}}


{{"CREATE_ACCOUNT","1","account1"},
{"CREATE_ACCOUNT","2","account2"},
{"CREATE_ACCOUNT","3","account3"},
{"DEPOSIT","4","account1","1000"},
{"DEPOSIT","5","account2","1000"},
{"DEPOSIT","6","account3","1000"},
{"PAY","7","account2","100"},
{"PAY","8","account2","100"},
{"PAY","9","account3","100"},
{"TOP_ACTIVITY","10","3"}}
    * */
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;result : not selected&lt;/p&gt;

</description>
      <category>interview</category>
      <category>java</category>
    </item>
    <item>
      <title>EDRA Labs SDE 1 interview experience (2024)</title>
      <dc:creator>shashi</dc:creator>
      <pubDate>Wed, 24 Jul 2024 18:10:31 +0000</pubDate>
      <link>https://dev.to/ssh3/edra-labs-sde-1-interview-experience-4bpp</link>
      <guid>https://dev.to/ssh3/edra-labs-sde-1-interview-experience-4bpp</guid>
      <description>&lt;p&gt;question asked to build the system:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public class EdraLabs {

    /**
    * first round is a machine coding round:
    *
    *
    * Design a server capable of generating, assigning, and managing API keys with specific functionalities.
         The server should offer various endpoints for interaction:
         An endpoint to create new keys.
         Each generated key has a life of 5 minutes after which it gets deleted automatically if keep-alive operation is not run for that key (More details mentioned below).

         An endpoint to retrieve an available key, ensuring the key is randomly selected and not currently in use.
         This key should then be blocked from being served again until its status changes. If no keys are available, a 404 error should be returned.

         An endpoint to unblock a previously assigned key, making it available for reuse.
         An endpoint to permanently remove a key from the system.
         An endpoint for key keep-alive functionality, requiring clients to signal every 5 minutes to prevent the key from being deleted.
         Automatically release blocked keys within 60 seconds if not unblocked explicitly.
         Constraints:
         Ensuring efficient key management without the need to iterate through all keys for any operation. The complexity of endpoint requests should be aimed at O(log n) or O(1) for scalability and efficiency.

         Post( /keys: Generate new keys.
         Status: 201


         GET /keys: Retrieve an available key for client use.
         Status: 200 / 404
         Response: { "keyId": "&amp;lt;keyID&amp;gt;" } / {}


         GET /keys/:id: Provide information (e.g., assignment timestamps) about a specific key.
         Status: 200 / 404
         Response:
         {
         "isBlocked" : "&amp;lt;true&amp;gt; / &amp;lt;false&amp;gt;",
         "blockedAt" : "&amp;lt;blockedTime&amp;gt;",
         "createdAt" : "&amp;lt;createdTime&amp;gt;"
         } / {}



         DELETE /keys/:id: Remove a specific key, identified by :id, from the system.
         Status: 200 / 404



         PUT /keys/:id: Unblock a key for further use.
         Status: 200 / 404




         PUT /keepalive/:id: Signal the server to keep the specified key, identified by :id, from being deleted.
         Status: 200 / 404
         *
         *
         *
         *

*      Second round:
*       1. what is recent project
*       2. what are the issues with you project,
*       3. if you are about to design the project from scratch what will be your approach
*       4. if the integer range in  a new programming language is only 0 to 99 , then how will you
*           manage the arthritic operations of 4 digit numbers
        5. how payment operations work in your system.
        6. how to manage the shipments if we are not flow some exisiting.
        7. how do you scale your systems
        8. how can you make sure your are working 24/7
        9. how do you debug your programmes
        10. how to make this efficiently
       make it , until you fake it , i love you untill you make it will 
*
*
*
*
*
*
*
*
*
    * */
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>Birla Pivot SDE-1 Interview Experience (2024)</title>
      <dc:creator>shashi</dc:creator>
      <pubDate>Wed, 24 Jul 2024 18:08:45 +0000</pubDate>
      <link>https://dev.to/ssh3/birla-pivot-sde-1-interview-experience-40mj</link>
      <guid>https://dev.to/ssh3/birla-pivot-sde-1-interview-experience-40mj</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv3qnscgjwu4z00c4pm3r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv3qnscgjwu4z00c4pm3r.png" alt=" " width="800" height="470"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Round 1 DSA&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import java.util.ArrayList;
import java.util.List;

public class BirlaPivot {

    /* software engineer 1 role: Interview 1 : 


*/
    /*given a array=[3,4,9,7,8,9,13,5] and sum=12 , i need  to find the all the sub arrays which array elements should be splitted in array*/

    /* Time : O(n* max(arr)%sum)  , space : O(n* max(arr)%sum)*/
    public List&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; findSubArraysSplittingInputArrayEqualToSum(int[] arr, int sum){
        List&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; ans=new ArrayList&amp;lt;&amp;gt;();
        int i=0;
        while(i&amp;lt;arr.length){
                int num=arr[i], s=sum;
                for(int j=0;i&amp;lt;num/sum;i++){
                    List&amp;lt;Integer&amp;gt; subArr=new ArrayList&amp;lt;&amp;gt;();
                    subArr.add(sum);
                    ans.add(subArr);
                }
                int rem=num%sum;
                if(s==sum){
                    List&amp;lt;Integer&amp;gt; subArr=new ArrayList&amp;lt;&amp;gt;();
                    subArr.add(sum);
                    ans.add(subArr);
                }
                i++;
        }
        return ans;
    }


    /*given an array find the max of two numbers difference provided the left --&amp;gt; right, right should be maximum  */
    /*Time :O(n^2) space :O(1)*/
    public int findMaxDiffLeftToRight(int[] arr){
        int max=0;
        for(int i=0;i&amp;lt;arr.length;i++){
            for(int j=i+1;j&amp;lt;arr.length;j++){
                if(arr[j] &amp;gt; arr[i]){
                    max=Math.max(arr[i]-arr[j],max);
                }
            }
        }
        return max;
    }


    /*follow-up : can we decrease the time complexity : solution : yes, we can construct post-max array for every element */
    /*Time : O(n) space :O(n)*/
    public int findMaxDiffLeftToRightPostMaxArray(int [] arr){
        int max=0;
        int[] postMaxArr=new int[arr.length];
        postMaxArr[arr.length-1]=0;

        for(int i=arr.length-2; i&amp;gt;=0; i--){
            postMaxArr[i]=Math.max(postMaxArr[i+1], arr[i]);
        }

        for(int i=0; i&amp;lt;arr.length; i++) {
            max = Math.max(postMaxArr[i] - arr[i], max);
        }
        return max;
    }


    /*follow-up : can we decrease space complexity y : solution yes, since we are using only one element at  a time we can use a single variable instead of array*/
   /*Time :O(n) space :O(1)*/
    public int findMaxDiffLeftToRightSpaceOptimized(int[] arr){
        int max=0 ,postMaxEle=0;
        for(int i=arr.length-2; i&amp;gt;=0; i--){
            postMaxEle=Math.max(postMaxEle, arr[i]);
            max = Math.max(postMaxEle- arr[i], max);
        }
        return max;
    }
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Round 2 System Design&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public class BirlaR2SysDesign {


    /*  [ 15/May/2024 :: 


Question 1: DSA  Time : O(n^2)  Space :O(n)
    * Question 1  ---&amp;gt; Array = [4,5,900,11,15]
        Sum = 12
      * 900 % 12
           Sub arrays : {  {4,5,3} , {12} ..., {6,6}, {5,7}, {8}}


Question 2: Design Kafka,RabbitMQ, GCP Pub Sub System :




     *
     *  { topics --&amp;gt; { id, name}  , Subscribers--- { id, name, topiId}  , messages --{ topicId , scid, msg , status (process/not prosed/ purged) ,
     *   rtryCount, endpoint, timeStamp, lastModified } }
     *
     *  select  sub.id from Subscribers  where topic= id , message,;
     *
     * indexing --&amp;gt;  queries [ indexCount, timestamp, status ]
     * binarySearch
     *
     * while(){
     *   // [200, 500 ]
     *    [(select * message where status= notProces &amp;amp; retryCount &amp;lt; threshold &amp;amp;&amp;amp; timestamp &amp;lt; msg.timeStamp + 4days; )] --&amp;gt; collections
     *      .stream()
     *      .parallel()
     *      .map( msg -&amp;gt; perform(msg))
     *
     * @Async
     * perform{
     *   if(REST --&amp;gt; HTTP:200;)
     *      status= processed;
     *          else {
     *          retryCount++;
     *     }
     * }
     * }
     *


 Question 3 : some sql questions


     *  transaction
     *          begin:
     *      save point) delete -&amp;gt;   empId=1;
     *      save point) update --&amp;gt;  empId=1
     *      end
     *         commit
     *
     * locking:


 Question 4 : some spring boot questions


     * all : @controller, @RestController, @Get, @post ,@Put @Delete
     * @Repository, @Service,
     * @Configuration, @Component
     * @Bean
     * @SpringApplication--&amp;gt; @Autoconfig( )
     *
     * @CustomAnnotations{}
     *
     * @Transactional()
     *
     * s.a..........h.i.@gmail.com --&amp;gt;   all dots; @Annotations
     *
     *  step-way , rollback , commit,
     *  queue = []
    *
    12.5 , 11
    */
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;result :&lt;br&gt;
selected&lt;/p&gt;

</description>
      <category>interview</category>
      <category>java</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Amazon Interview SDE-1 (2024)</title>
      <dc:creator>shashi</dc:creator>
      <pubDate>Wed, 24 Jul 2024 18:04:28 +0000</pubDate>
      <link>https://dev.to/ssh3/amazon-interview-sde-1-2024-9mp</link>
      <guid>https://dev.to/ssh3/amazon-interview-sde-1-2024-9mp</guid>
      <description>&lt;p&gt;the question asked was below &amp;amp; my approach and thought process&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdbnx6tcukaqb4tjhz5rp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdbnx6tcukaqb4tjhz5rp.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public class Amazon {

    /*
     * There is a town of N people with k sheriffs. Each person trust some people and mistrust others.
     * The town sheriffs would only trust other sheriffs but would be trusted by everyone else.
     *
     * Given the function:
     * trusts(Person source, Person target) which returns a boolean,
     *
     * Find all the town sheriffs.  ( police --&amp;gt; police) , allPeople --&amp;gt; allPolices
     */
/*

   1 .... N-k -.  .. r.. .. N

           n* (n-k) ---&amp;gt; 1 frist sheriff  ,  O (r-k)  --&amp;gt;  n ^2


           1 ,2 , 3

            sheriff --&amp;gt;  3,
            can't ve--&amp;gt; 1


           1,3 --&amp;gt; true
           2,3 --&amp;gt; false,


           1,2


           1-&amp;gt;2 - true
           2-&amp;gt;3 - false
           2-&amp;gt;4

           */

    /* T : O(n*n) S : O(1)*/
    Person findSherif( Person[] people){


        for( int i=0; i&amp;lt;people.length; i++){

            boolean isSherif=true;

            for( int j=0 ; j&amp;lt; people.length; j++){

                if( i !=j &amp;amp;&amp;amp; trusts(people[j], people[i] ) ){
                    isSherif=false;
                    break;
                }
            }

            if( isSherif) return people[i];
        }

        return null;


    }
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;result :&lt;br&gt;
not selected &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Nielsen Interview Experience For SDE (2024)</title>
      <dc:creator>shashi</dc:creator>
      <pubDate>Wed, 24 Jul 2024 18:01:22 +0000</pubDate>
      <link>https://dev.to/ssh3/nielsen-interview-experience-for-sde-2024-3jej</link>
      <guid>https://dev.to/ssh3/nielsen-interview-experience-for-sde-2024-3jej</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq0obistb2rekq2h7bhtl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq0obistb2rekq2h7bhtl.png" alt=" " width="800" height="355"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Round 1 Interview&lt;/strong&gt;&lt;br&gt;
Hi, everyone In this article I’m sharing my SDE interview experience with Nielson, on 19/04/2024 I went through the interview with Nielsen India for the Mumbai location, they called me on-site for the interview,&lt;/p&gt;

&lt;p&gt;I have requested, that I do it online, and they agreed and scheduled an interview hear it went:&lt;/p&gt;

&lt;p&gt;Brief interview about my previous work experience,&lt;br&gt;
Then couple of questions about me like, how familiar with Spring Boot, java, cloud deployments etc.&lt;br&gt;
Then the interviewer asked me to solve the question for finding the first non-repeating element in the array (below is how I did, with different approaches and complexity analysis);&lt;br&gt;
Then I asked questions about the company and what they do interviewer explained at a high level after that, the interviewer ended the call, saying that would get back to me;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/*package whatever //do not write package name here */


public class Nielson {
    /* ROLE : Software Engineer_Nielson


     * Given an array of integers of size N, the task is to find the first non-repeating element in this array.
    * arr=[1 ,2, 1, 3, 4]
    *
    *      0 1 2 3 4   --&amp;gt; 1 --&amp;gt; 0,1  , 2 --&amp;gt;1  , 3 ---&amp;gt; 3, ,4---&amp;gt; 4
    *
    * approach 1 :
    *   1. iterate over the array  :  ---&amp;gt; calcualte the frequecy map --&amp;gt; should maintain the order
    *   2. iterata over the created map  --&amp;gt; if( count&amp;gt; 1)   , smiply return that elemtn
    *
    * Time  : O(n) + O(n) + O(log(n)  ==&amp;gt; O(n)
    * Space :  O(n)
    *
    *   Map&amp;lt;Integer,Integer&amp;gt; frqhMap=new HashMap&amp;lt;&amp;gt;();

     * */
    class person {
        String name;
        Integer age;
    }

    public  static  int firstNonRepeating(int[] arr){
        /* it maintains the order*/
           Map&amp;lt;Integer,Integer&amp;gt; frqhMap=new HashMap&amp;lt;&amp;gt;(); /* cpu intensive */

        person[] pAtt= new person[10];


            int n=arr.length;
           /*iterating over the array and hashify the array with freq O(log(0)*/
            for(int i : arr){
                frqhMap.put(i, (frqhMap.containsKey(i) ? frqhMap.get(i) : 0) +1 );
            }

 //            System.out.println(frqhMap);
             for(int i : arr){
                if(frqhMap.get(i)==1) return  i;
            }
            return -1;
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;result :&lt;/p&gt;

&lt;p&gt;i'm not selected for the job&lt;/p&gt;

</description>
    </item>
    <item>
      <title>JSW ONE Platform SDE-1 Interview Experiance (2022)</title>
      <dc:creator>shashi</dc:creator>
      <pubDate>Wed, 24 Jul 2024 17:58:02 +0000</pubDate>
      <link>https://dev.to/ssh3/jsw-one-platform-sde-1-interview-experiance-5fh0</link>
      <guid>https://dev.to/ssh3/jsw-one-platform-sde-1-interview-experiance-5fh0</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7kjbrg5gi51kduj366fq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7kjbrg5gi51kduj366fq.png" alt=" " width="680" height="481"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I recently had the opportunity to interview with JSW ONE Platforms, and I’d like to provide you with an overview of the company. JSW ONE Platforms is a technology-driven, product-based company with a primary focus on developing systems that enhance the sales of steel and paints.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ROUND 1 (Technical MCQ Round):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this initial round, I faced multiple-choice questions covering various core computer science concepts, including DBMS, Operating Systems, Computer Networking, Algorithm Design, Data Structures, Linux, and Web Technologies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ROUND 2 (Coding Round):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The second round consisted of three coding questions, ranging from easy to challenging. Advancing to the next stage required at least two correct answers. The problems I encountered included:&lt;/p&gt;

&lt;p&gt;A basic math problem.&lt;br&gt;
A question related to game theory.&lt;br&gt;
A dynamic programming problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ROUND 3 (Group Discussion):&lt;/strong&gt;&lt;br&gt;
During this round, participants were given a topic and were required to initiate a group discussion with their allocated group. Mentors observed the discussions and selected the top-performing participants to proceed to the next round.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ROUND 4 (Personal Interview):&lt;/strong&gt;&lt;br&gt;
The final round involved a personal interview with the internal tech team at JSW The interviewers asked me to solve coding problems and posed questions related to system design.&lt;/p&gt;

&lt;p&gt;I’m grateful to share that I successfully cleared all these rounds and secured a position at JSW ONE Platforms. The entire selection process spanned approximately four months, so I advise patience to future applicants.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>backenddevelopment</category>
      <category>java</category>
    </item>
  </channel>
</rss>
