zoukankan      html  css  js  c++  java
  • 学习笔记之Google

    Google Pro Tip: Use Back-of-the-envelope-calculations to Choose the Best Design - High Scalability -

      http://highscalability.com/blog/2011/1/26/google-pro-tip-use-back-of-the-envelope-calculations-to-choo.html

    Building software systems at Google

      http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/people/jeff/Stanford-DL-Nov-2010.pdf

    Putting Google's Network to work for You

      https://www.youtube.com/watch?v=DWpBNm6lBU4

    Building Software Systems At Google and Lessons Learned

      https://www.youtube.com/watch?v=modXC5IWTJI&feature=player_embedded

    Get that job at Google

      http://steve-yegge.blogspot.hk/2008/03/get-that-job-at-google.html

    The Google technical interview How to get your dream job

      http://xrds.acm.org/article.cfm?aid=2539270

    Interviewing @ Google

      http://www.catehuston.com/blog/2010/07/13/interviewing-google/

    How to get a job at Google, interview questions, hiring process

      http://dondodge.typepad.com/the_next_big_thing/2010/09/how-to-get-a-job-at-google-interview-questions-hiring-process.html

    An Inside Look at Google - Working at Google

      https://www.youtube.com/watch?v=aOZhbOhEunY

    How to Work at Google -Candidate Coaching Session: Tech Interviewing

      https://www.youtube.com/watch?v=oWbUtlUhwa8&feature=youtu.be

    Inside Google Australia

      https://www.youtube.com/watch?v=Y1xF3BDBHSY

    Interviewing at Google

      https://www.youtube.com/watch?v=w887NIa_V9w

    University Consortium | Google Developers

      https://developers.google.com/university/

    Introduction to Algorithms | Electrical Engineering and Computer Science | MIT OpenCourseWare

      http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-spring-2008/

    Distributed Algorithms | Electrical Engineering and Computer Science | MIT OpenCourseWare

      http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-852j-distributed-algorithms-fall-2009/

    Advanced Algorithms | Electrical Engineering and Computer Science | MIT OpenCourseWare

      http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2008/

    How we hire - Google Careers

      https://www.google.com/about/careers/how-we-hire/

    GitHub - google/styleguide: Style guides for Google-originated open-source projects

      https://github.com/google/styleguide

    Bring questions. Build answers. - Google Careers

      https://www.google.com/about/careers/

    Preparing for your Google Interview

      https://sites.google.com/site/coachingsessions1/home

    The Architecture of Open Source Applications (Volume 2): Scalable Web Architecture and Distributed Systems

      http://www.aosabook.org/en/distsys.html

    The Google app – Voice Search, Answers and Assistance

      https://www.google.com/search/about/

    Distributed Systems and Parallel Computing - Research at Google

      http://research.google.com/pubs/DistributedSystemsandParallelComputing.html

    Topcoder is repeatable, on-demand crowdsourcing, done right, at scale.

      https://www.topcoder.com/

    Classic problems

    Towers of Hanoi

    There's a temple in the middle of Hanoi. In that temple, there are three very large diamondencrusted posts, and on those posts are sixtyfour disks, all of a different size. There are a set of priests in that temple, and their task is to move the entire stack of sixtyfour disks from one post to a second post. The rules, though, are, they can only move one disk at a time, and they can never cover up a smaller disk with a larger disk. Write a recursive program to solve this problem. What is the complexity?

    Searching and sorting algorithms

    Write code to search a sorted list.
    Write a binary search algorithm.
    Write a selection sort algorithm.
    Write code to create a hash table of size 256

    Shortest path problem

    Write an algorithm to plan a route by minimising distance or time (eg Google Maps)

    Traveling salesman

    Write an algorithm to determine the least cost roundtrip, given multiple cities and varying costs of flights

    Knapsack problem

    Write an algorithm to optimize the value of items you can fit into a backpack based on weight and volume

    Sorting algorithms - know how they work, average/worst case running times, stack space
    ● Insertion sort
    ● Quicksort
    ● Mergesort
    ● Heapsort

    Searching algorithms
    ● Sequential search
    ● Binary search
    ● Hashing
    ● Binary search trees
    ● Key indexing

    Other algorithms
    ● Priority queues
    ● Selection

    Back of the envelope calculations
    ● Know your powers of 2 (binary)
    ● Be able to express mega/giga/etc in binary and/or scientific notation
    ● Know cycle times and disk seek times for CPUs
    ● Explain and justify your assumptions
    ● Don’t be afraid of dealing with huge numbers!

    Sample questions from Programming Pearls

    1. Given a file containing at most ten million 7digit integers with no duplicates. What is an efficient way to print these numbers in ascending order using just 1.5Mb RAM and reading the data just once? What are the consequences of only having 1Mb of RAM and no other storage? How would your answer change if duplicates were permitted?

    2. Given a sequential file that contains at most four billion 32bit integers in random order, find a 32bit integer that isn’t in the file (and there must be at least one missing...why?). How would you solve this with unlimited main memory? How would you solve it if you could use several external files but only a few bytes of main memory?

    3. Rotate a onedimensional vector of n elements left by i positions. For instance, with n=8 and i=3, the vector abcdefg is rotated to defghabc. Simple code uses an nelement intermediate vector to do the job in n steps. Can you rotate the vector in time proportional to n using only a few dozen extra bytes of storage?

    4. Given a dictionary of English words, find sets of anagrams. For instance, “pots”, “stop”, and “tops” are all anagrams of one another because each can be found by permuting the letters of the others.

    5. Write functions for the following date problems: given two dates, compute the number of days between them? given a date, return it’s day of the week? given a month and year, produce a calendar of the month as an array of characters

    6. Given a very long sequence (say, billions or trillions) of bytes, how would you efficiently count the total number of one bits? (i.e. how many bits are turned on in the entire sequence)

    7. Although Quicksort uses only O(logn) stack space on the average, it can use linear space in the worst case. Explain why, then modify the program to use only logarithmic space in the worst case.

    8. Write a program for finding the kthsmallest element in the array x[0...n1] in O(n) expected time. Your algorithm may permute the elements of x.

    9. Build the fastest possible complete function to generate a sorted array of random integers without duplicates. (You need feel constrained to use any prescribed interface for set representation)

    10. Implement heapbased priority queues to run as quickly as possible? at what values of n are they faster than sequential structures?


    Chrome 为何会成功?

    谷歌 Chrome 十年封神记

  • 相关阅读:
    C# 2010 从入门到精通 学习笔记3 第4章 使用决策语句
    C# 2010 从入门到精通 学习笔记2 第3章 方法和作用域
    C# 2010 从入门到精通 学习笔记1 第2章 使用变量、操作符和表达式
    SharePoint 2010 添加“我的链接”菜单
    SharePoint Survey WebPart 调查 Web部件
    SharePoint World Clock 世界时钟
    SharePoint Silverlight Clock 时钟
    SharePoint 文档导入工具
    如何在SharePoint2010中添加Deep Zoom Image
    计算并发和qps:
  • 原文地址:https://www.cnblogs.com/pegasus923/p/5550801.html
Copyright © 2011-2022 走看看