LinkedIn Reviews

4.5
964 Reviews
Rating Trends
Recommend to a friend
Approve of CEO
LinkedIn CEO Jeff Weiner
Jeff Weiner
870 Ratings
  • Helpful (1)

    Worked with some of the best

    • Comp & Benefits
    • Work/Life Balance
    • Senior Management
    • Culture & Values
    • Career Opportunities
    Former Employee - Senior Social Media Guy in Mountain View, CA
    Former Employee - Senior Social Media Guy in Mountain View, CA

    I worked at LinkedIn full-time (More than 5 years)

    Recommends
    Positive Outlook
    Approves of CEO
    Recommends
    Positive Outlook
    Approves of CEO

    Pros

    - CEO, Jeff Weiner, is a class act. Took LinkedIn from startup to IPO, and to continued success
    - Company culture is something that the CEO has actively cultivated into one of the most charming environments to work for

    Cons

    - Some of the teams are mired in bureaucracy but that's the downside of becoming a behemoth

    Advice to Management

    Keep on making those big bucks!

LinkedIn Interviews

Interview Experience

Interview Experience

54%
17%
28%

Getting an Interview

Getting an Interview

32%
31%
16%

Interview Difficulty

3.1
Average

Interview Difficulty

Hard

Average

Easy
  1. Helpful (18)  

    Software Engineer Interview

    Anonymous Employee
    Declined Offer
    Neutral Experience
    Average Interview
    Declined Offer
    Neutral Experience
    Average Interview

    Interview

    // Question 1

    /**
     * Returns a^b, as the standard mathematical exponentiation function
     */
    public double pow(double a, int b) {
        // implementation here
        if(b == 0){
           return a==0?Integer.MIN_VALUE:1;
        }
        if(b==1){
            return a;
        }
        if(a==1){
            return 1;
        }
        boolean isNegPower = false;
        if(b<0){
            isNegPower = true;
        }
        double result = powHelper(a,Math.abs(b));
        if(isNegative){
            return 1/result;
        }
        return result;
    }

    private double powHelper(double a, int b){
        if(b==1){
            return a;
        }
        if(b&1){
            return a*powHelper(a,b-1);
        }
        int result = powHelper(a,b/2)
        return result * result;
    }

    // Question 2

    /* This class will be given a list of words (such as might be tokenized
     * from a paragraph of text), and will provide a method that takes two
     * words and returns the shortest distance (in words) between those two
     * words in the provided text.
     * Example:
     * WordDistanceFinder finder = new WordDistanceFinder(Arrays.asList("the", "quick", "brown", "fox", "quick"));
     * assert(finder.distance("fox","the") == 3);
     * assert(finder.distance("quick", "fox") == 1);

     */
    public class WordDistanceFinder {

        Map<String,List<Integer>> wordToPos = new HashMap<>();
        public WordDistanceFinder (List<String> words) {
            // implementation here
            for(int pos=0;pos<words.size();++pos){
                String word = pos.get(pos);
                List<Integer> posList = wordToPos.get(word);
                if(posList==null){
                    posList = new ArrayList<Integer>();
                }
                posList.add(pos);
                wordToPos.put(word,posList);
            }
        }
        public int distance (String wordOne, String wordTwo) {
            return findMin(wordToPos.get(wordOne),wordToPos.get(wordTwo));
        }

        private int findMin(List<Integer> pos1, List<Integer> pos2){
            if(pos1==null||pos2==null){
                return -1;
            }
            int i=0,j=0;
            int min = Integer.MAX_VALUE;
            while(i<pos1.size()&&j<pos2.size()){
                int currentMin = Math.abs(pos1.get(i)-pos2.get(j))
                if(min>currentMin){
                    min = currentMin;
                }
                if(pos1.get(i)<pos2.get(j)){
                    ++i;
                }else{
                    ++j;
                }
            }
            return min;
        }
    }

    // Question 3

    public interface TwoSum {
        /**
         * Stores @param input in an internal data structure.
         */
        void store(int input);

        /**
         * Returns true if there is any pair of numbers in the internal data structure which
         * have sum @param val, and false otherwise.
         * For example, if the numbers 1, -2, 3, and 6 had been stored,
         * the method should return true for 4, -1, and 9, but false for 10, 5, and 0
         */
        boolean test(int val);
    }
    public class MyTwoSum implements TwoSum{
        private List<Integer> list = new ArrayList<>();

        void store(int input){
            list.add(input);
        }

        boolean test(int val){
            Set<Integer> elSeen = new HashSet<Integer>();
            for(int el:list){
                if(checkOverflow(val,el){
                    return false;
                }
                if(elSeen.contains(val-el)){
                    return true;
                }
                elSeen.add(el);
            }
            return false;
        }
    }
    bool checkOverflow(int val, int el){
        int result = val-el;
        if(val<0&&el>0){
            if(result>val){
                return true;
            }
        }
        if(val>0&&el<0){
            if(result<val){
                return true;
            }
        }
        return false;
    }

    Interview Questions

    • // Question 1

      /**
       * Returns a^b, as the standard mathematical exponentiation function
       */
      public double pow(double a, int b) {
          // implementation here
          if(b == 0){
             return a==0?Integer.MIN_VALUE:1;
          }
          if(b==1){
              return a;
          }
          if(a==1){
              return 1;
          }
          boolean isNegPower = false;
          if(b<0){
              isNegPower = true;
          }
          double result = powHelper(a,Math.abs(b));
          if(isNegative){
              return 1/result;
          }
          return result;
      }

      private double powHelper(double a, int b){
          if(b==1){
              return a;
          }
          if(b&1){
              return a*powHelper(a,b-1);
          }
          int result = powHelper(a,b/2)
          return result * result;
      }

      // Question 2

      /* This class will be given a list of words (such as might be tokenized
       * from a paragraph of text), and will provide a method that takes two
       * words and returns the shortest distance (in words) between those two
       * words in the provided text.
       * Example:
       * WordDistanceFinder finder = new WordDistanceFinder(Arrays.asList("the", "quick", "brown", "fox", "quick"));
       * assert(finder.distance("fox","the") == 3);
       * assert(finder.distance("quick", "fox") == 1);

       */
      public class WordDistanceFinder {

          Map<String,List<Integer>> wordToPos = new HashMap<>();
          public WordDistanceFinder (List<String> words) {
              // implementation here
              for(int pos=0;pos<words.size();++pos){
                  String word = pos.get(pos);
                  List<Integer> posList = wordToPos.get(word);
                  if(posList==null){
                      posList = new ArrayList<Integer>();
                  }
                  posList.add(pos);
                  wordToPos.put(word,posList);
              }
          }
          public int distance (String wordOne, String wordTwo) {
              return findMin(wordToPos.get(wordOne),wordToPos.get(wordTwo));
          }

          private int findMin(List<Integer> pos1, List<Integer> pos2){
              if(pos1==null||pos2==null){
                  return -1;
              }
              int i=0,j=0;
              int min = Integer.MAX_VALUE;
              while(i<pos1.size()&&j<pos2.size()){
                  int currentMin = Math.abs(pos1.get(i)-pos2.get(j))
                  if(min>currentMin){
                      min = currentMin;
                  }
                  if(pos1.get(i)<pos2.get(j)){
                      ++i;
                  }else{
                      ++j;
                  }
              }
              return min;
          }
      }

      // Question 3

      public interface TwoSum {
          /**
           * Stores @param input in an internal data structure.
           */
          void store(int input);

          /**
           * Returns true if there is any pair of numbers in the internal data structure which
           * have sum @param val, and false otherwise.
           * For example, if the numbers 1, -2, 3, and 6 had been stored,
           * the method should return true for 4, -1, and 9, but false for 10, 5, and 0
           */
          boolean test(int val);
      }
      public class MyTwoSum implements TwoSum{
          private List<Integer> list = new ArrayList<>();

          void store(int input){
              list.add(input);
          }

          boolean test(int val){
              Set<Integer> elSeen = new HashSet<Integer>();
              for(int el:list){
                  if(checkOverflow(val,el){
                      return false;
                  }
                  if(elSeen.contains(val-el)){
                      return true;
                  }
                  elSeen.add(el);
              }
              return false;
          }
      }
      bool checkOverflow(int val, int el){
          int result = val-el;
          if(val<0&&el>0){
              if(result>val){
                  return true;
              }
          }
          if(val>0&&el<0){
              if(result<val){
                  return true;
              }
          }
          return false;
      }
       
      Answer Question

LinkedIn Awards & Accolades

Something missing? Add an award
Employees' Choice -50 Best Places to work, Glassdoor, 2013
Glassdoor’s Employees’ Choice Award - Top 50 Large Companies, Glassdoor, 2014

Additional Info

Unlock Profile
Website www.linkedin.com
Headquarters Mountain View, CA
Size 5000+ Employees
Founded 2003
Type Company - Public (LNKD)
Industry Information Technology
Revenue $1 to $2 billion (USD) per year
Competitors XING AG, Monster Worldwide

Feeling a bit disconnected to the business world? LinkedIn wants to help. The firm operates an online professional network designed to help members find jobs, connect with other professoinals, and locate business opportunities. The site has grown to reach more than 259 million users in some 200 countries since its launch in 2003. LinkedIn is free to join; it offers a paid premium membership with additional tools, and sells advertising. It additionally earns revenue through its job listing service, which allows companies to post job openings and search for candidates on... More

Work at LinkedIn? Share Your Experiences

LinkedIn

 
Click to Rate
or