青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

A Za, A Za, Fighting...

堅信:勤能補拙

Google面試題

來源:
http://coolshell.cn/articles/3345.html

Software Engineer
  • Why are manhole covers round? (陳皓:為什么下水井蓋是圓的?這是有N種答案的,上Wiki看看吧)
  • What is the difference between a mutex and a semaphore? Which one would you use to protect access to an increment operation?
  • A man pushed his car to a hotel and lost his fortune. What happened? (陳皓:腦筋急轉彎?他在玩大富翁游戲?!!)
  • Explain the significance of “dead beef”.(陳皓:要是你看到的是16進制 DEAD BEEF,你會覺得這是什么?IPv6的地址?)
  • Write a C program which measures the the speed of a context switch on a UNIX/Linux system.
  • Given a function which produces a random integer in the range 1 to 5, write a function which produces a random integer in the range 1 to 7.(陳皓:上StackOverflow看看吧,經典的問題)
  • Describe the algorithm for a depth-first graph traversal.
  • Design a class library for writing card games. (陳皓:用一系列的類來設計一個撲克游戲,設計題)
  • You need to check that your friend, Bob, has your correct phone number, but you cannot ask him directly. You must write a the question on a card which and give it to Eve who will take the card to Bob and return the answer to you. What must you write on the card, besides the question, to ensure Bob can encode the message so that Eve cannot read your phone number?(陳皓:協議+數字加密,我試想了一個,紙條上可以這樣寫,“Bob,請把我的手機號以MD5算法加密后的字符串,比對下面的字符串——XXXXXX,它們是一樣的嗎?”)
  • How are cookies passed in the HTTP protocol?
  • Design the SQL database tables for a car rental database.
  • Write a regular expression which matches a email address. (陳皓:上StackOverflow查相當的問題吧。)
  • Write a function f(a, b) which takes two character string arguments and returns a string containing only the characters found in both strings in the order of a. Write a version which is order N-squared and one which is order N.(陳皓:算法題,不難,不說了。一個O(n^2)和一個O(n)的算法復雜度)
  • You are given a the source to a application which is crashing when run. After running it 10 times in a debugger, you find it never crashes in the same place. The application is single threaded, and uses only the C standard library. What programming errors could be causing this crash? How would you test each one? (陳皓:和隨機數有關系?或是時間?)
  • Explain how congestion control works in the TCP protocol.
  • In Java, what is the difference between final, finally, and finalize?
  • What is multithreaded programming? What is a deadlock?
  • Write a function (with helper functions if needed) called to Excel that takes an excel column value (A,B,C,D…AA,AB,AC,… AAA..) and returns a corresponding integer value (A=1,B=2,… AA=26..).
  • You have a stream of infinite queries (ie: real time Google search queries that people are entering). Describe how you would go about finding a good estimate of 1000 samples from this never ending set of data and then write code for it.
  • Tree search algorithms. Write BFS and DFS code, explain run time and space requirements. Modify the code to handle trees with weighted edges and loops with BFS and DFS, make the code print out path to goal state.
  • You are given a list of numbers. When you reach the end of the list you will come back to the beginning of the list (a circular list). Write the most efficient algorithm to find the minimum # in this list. Find any given # in the list. The numbers in the list are always increasing but you don’t know where the circular list begins, ie: 38, 40, 55, 89, 6, 13, 20, 23, 36. (陳皓:循環排序數組的二分查找問題)
  • Describe the data structure that is used to manage memory. (stack)
  • What’s the difference between local and global variables?
  • If you have 1 million integers, how would you sort them efficiently? (modify a specific sorting algorithm to solve this)
  • In Java, what is the difference between static, final, and const. (if you don’t know Java they will ask something similar for C or C++).
  • Talk about your class projects or work projects (pick something easy)… then describe how you could make them more efficient (in terms of algorithms).
  • Suppose you have an NxN matrix of positive and negative integers. Write some code that finds the sub-matrix with the maximum sum of its elements.(陳皓:以前見過一維數組的這個問題,現在是二維的。感覺應該是把二維的第一行的最大和的區間算出來,然后再在這個基礎之上進行二維的分析。思路應該是這個,不過具體的算法還需要想一想)
  • Write some code to reverse a string.
  • Implement division (without using the divide operator, obviously).(陳皓:想一想手算除法的過程。)
  • Write some code to find all permutations of the letters in a particular string.
  • What method would you use to look up a word in a dictionary? (陳皓:使用排序,哈希,樹等算法和數據結構)
  • Imagine you have a closet full of shirts. It’s very hard to find a shirt. So what can you do to organize your shirts for easy retrieval?
  • You have eight balls all of the same size. 7 of them weigh the same, and one of them weighs slightly more. How can you fine the ball that is heavier by using a balance and only two weighings?
  • What is the C-language command for opening a connection with a foreign host over the internet?
  • Design and describe a system/application that will most efficiently produce a report of the top 1 million Google search requests. These are the particulars: 1) You are given 12 servers to work with. They are all dual-processor machines with 4Gb of RAM, 4x400GB hard drives and networked together.(Basically, nothing more than high-end PC’s) 2) The log data has already been cleaned for you. It consists of 100 Billion log lines, broken down into 12 320 GB files of 40-byte search terms per line. 3) You can use only custom written applications or available free open-source software.
  • There is an array A[N] of N numbers. You have to compose an array Output[N] such that Output[i] will be equal to multiplication of all the elements of A[N] except A[i]. For example Output[0] will be multiplication of A[1] to A[N-1] and Output[1] will be multiplication of A[0] and from A[2] to A[N-1]. Solve it without division operator and in O(n).(陳皓:注意其不能使用除法。算法思路是這樣的,把output[i]=a[i]左邊的乘積 x a[i]右邊的乘積,所以,我們可以分兩個循環,第一次先把A[i]左邊的乘積放在Output[i]中,第二次把A[i]右邊的乘積算出來。我們先看第一次的循環,使用迭代累積的方式,代碼如下:for(r=1; i=0; i<n-1; i++){ Output[i]=r; r*=a[i]; },看明白了吧。第二次的循環我就不說了,方法一樣的。)
  • There is a linked list of numbers of length N. N is very large and you don’t know N. You have to write a function that will return k random numbers from the list. Numbers should be completely random. Hint: 1. Use random function rand() (returns a number between 0 and 1) and irand() (return either 0 or 1) 2. It should be done in O(n).(陳皓:本題其實不難。在遍歷鏈表的同時一邊生成隨機數,一邊記錄最大的K個隨機數和其鏈接地址。)
  • Find or determine non existence of a number in a sorted list of N numbers where the numbers range over M, M>> N and N large enough to span multiple disks. Algorithm to beat O(log n) bonus points for constant time algorithm.(陳皓:使用bitmap,如果一個長整形有64位,那么我們可以使用M/64個bitmap)
  • You are given a game of Tic Tac Toe. You have to write a function in which you pass the whole game and name of a player. The function will return whether the player has won the game or not. First you to decide which data structure you will use for the game. You need to tell the algorithm first and then need to write the code. Note: Some position may be blank in the game? So your data structure should consider this condition also.
  • You are given an array [a1 To an] and we have to construct another array [b1 To bn] where bi = a1*a2*…*an/ai. you are allowed to use only constant space and the time complexity is O(n). No divisions are allowed.(陳皓:前面說過了)
  • How do you put a Binary Search Tree in an array in a efficient manner. Hint :: If the node is stored at the ith position and its children are at 2i and 2i+1(I mean level order wise)Its not the most efficient way.(陳皓:按順序遍歷樹)
  • How do you find out the fifth maximum element in an Binary Search Tree in efficient manner. Note: You should not use use any extra space. i.e sorting Binary Search Tree and storing the results in an array and listing out the fifth element.
  • Given a Data Structure having first n integers and next n chars. A = i1 i2 i3 … iN c1 c2 c3 … cN.Write an in-place algorithm to rearrange the elements of the array ass A = i1 c1 i2 c2 … in cn(陳皓:這個算法其實就是從中間開始交換元素,代碼:for(i=n-1; i>1; i++) {  for(j=i; j<2*n-i; j+=2) { swap(a[j], a[j+1]); } },不好意思寫在同一行上了。)
  • Given two sequences of items, find the items whose absolute number increases or decreases the most when comparing one sequence with the other by reading the sequence only once.
  • Given That One of the strings is very very long , and the other one could be of various sizes. Windowing will result in O(N+M) solution but could it be better? May be NlogM or even better?
  • How many lines can be drawn in a 2D plane such that they are equidistant from 3 non-collinear points?
  • Let’s say you have to construct Google maps from scratch and guide a person standing on Gateway of India (Mumbai) to India Gate(Delhi). How do you do the same?
  • Given that you have one string of length N and M small strings of length L. How do you efficiently find the occurrence of each small string in the larger one?
  • Given a binary tree, programmatically you need to prove it is a binary search tree.
  • You are given a small sorted list of numbers, and a very very long sorted list of numbers – so long that it had to be put on a disk in different blocks. How would you find those short list numbers in the bigger one?
  • Suppose you have given N companies, and we want to eventually merge them into one big company. How many ways are theres to merge?
  • Given a file of 4 billion 32-bit integers, how to find one that appears at least twice? (陳皓:我能想到的是拆分成若干個小數組,排序,然后一點點歸并起來)
  • Write a program for displaying the ten most frequent words in a file such that your program should be efficient in all complexity measures.(陳皓:你可能需要看看這篇文章Finding Frequent Items in Data Streams
  • Design a stack. We want to push, pop, and also, retrieve the minimum element in constant time.
  • Given a set of coin denominators, find the minimum number of coins to give a certain amount of change.(陳皓:你應該查看一下這篇文章:Coin Change Problem
  • Given an array, i) find the longest continuous increasing subsequence. ii) find the longest increasing subsequence.(陳皓:這個題不難,O(n)算法是邊遍歷邊記錄當前最大的連續的長度。)
  • Suppose we have N companies, and we want to eventually merge them into one big company. How many ways are there to merge?
  • Write a function to find the middle node of a single link list. (陳皓:我能想到的算法是——設置兩個指針p1和p2,每一次,p1走兩步,p2走一步,這樣,當p1走到最后時,p2就在中間)
  • Given two binary trees, write a compare function to check if they are equal or not. Being equal means that they have the same value and same structure.(陳皓:這個很簡單,使用遞歸算法。)
  • Implement put/get methods of a fixed size cache with LRU replacement algorithm.
  • You are given with three sorted arrays ( in ascending order), you are required to find a triplet ( one element from each array) such that distance is minimum. Distance is defined like this : If a[i], b[j] and c[k] are three elements then distance=max(abs(a[i]-b[j]),abs(a[i]-c[k]),abs(b[j]-c[k]))” Please give a solution in O(n) time complexity(陳皓:三個指針,a, b, c分別指向三個數組頭,假設:a[0]<b[0]<c[0],推進a直到a[i]>b[0],計算 abs(a[i-1] – c[0]),把結果保存在min中。現在情況變成找 a[i], b[0],c[0],重復上述過程,如果有一個新的值比min要小,那就取代現有的min。)
  • How does C++ deal with constructors and deconstructors of a class and its child class?
  • Write a function that flips the bits inside a byte (either in C++ or Java). Write an algorithm that take a list of n words, and an integer m, and retrieves the mth most frequent word in that list.
  • What’s 2 to the power of 64?
  • Given that you have one string of length N and M small strings of length L. How do you efficiently find the occurrence of each small string in the larger one? (陳皓:我能想到的是——把那M個小字串排個序,然后遍歷大字串,并在那M個字串中以二分取中的方式查找。)
  • How do you find out the fifth maximum element in an Binary Search Tree in efficient manner.
  • Suppose we have N companies, and we want to eventually merge them into one big company. How many ways are there to merge?
  • There is linked list of millions of node and you do not know the length of it. Write a function which will return a random number from the list.
  • You need to check that your friend, Bob, has your correct phone number, but you cannot ask him directly. You must write a the question on a card which and give it to Eve who will take the card to Bob and return the answer to you. What must you write on the card, besides the question, to ensure Bob can encode the message so that Eve cannot read your phone number?
  • How long it would take to sort 1 trillion numbers? Come up with a good estimate.
  • Order the functions in order of their asymptotic performance: 1) 2^n 2) n^100 3) n! 4) n^n
  • There are some data represented by(x,y,z). Now we want to find the Kth least data. We say (x1, y1, z1) > (x2, y2, z2) when value(x1, y1, z1) > value(x2, y2, z2) where value(x,y,z) = (2^x)*(3^y)*(5^z). Now we can not get it by calculating value(x,y,z) or through other indirect calculations as lg(value(x,y,z)). How to solve it?
  • How many degrees are there in the angle between the hour and minute hands of a clock when the time is a quarter past three?
  • Given an array whose elements are sorted, return the index of a the first occurrence of a specific integer. Do this in sub-linear time. I.e. do not just go through each element searching for that element.
  • Given two linked lists, return the intersection of the two lists: i.e. return a list containing only the elements that occur in both of the input lists. (陳皓:把第一個鏈表存入hash表,然后遍歷第二個鏈表。不知道還沒有更好的方法。)
  • What’s the difference between a hashtable and a hashmap?
  • If a person dials a sequence of numbers on the telephone, what possible words/strings can be formed from the letters associated with those numbers?(陳皓:這個問題和美國的電話有關系,大家可以試著想一下我們發短信的手機,按數字鍵出字母,一個組合的數學問題。)
  • How would you reverse the image on an n by n matrix where each pixel is represented by a bit?
  • Create a fast cached storage mechanism that, given a limitation on the amount of cache memory, will ensure that only the least recently used items are discarded when the cache memory is reached when inserting a new item. It supports 2 functions: String get(T t) and void put(String k, T t).
  • Create a cost model that allows Google to make purchasing decisions on to compare the cost of purchasing more RAM memory for their servers vs. buying more disk space.
  • Design an algorithm to play a game of Frogger and then code the solution. The object of the game is to direct a frog to avoid cars while crossing a busy road. You may represent a road lane via an array. Generalize the solution for an N-lane road.
  • What sort would you use if you had a large data set on disk and a small amount of ram to work with?
  • What sort would you use if you required tight max time bounds and wanted highly regular performance.
  • How would you store 1 million phone numbers?(陳皓:試想電話是有區段的,可以把區段統一保存,Flyweight設計模式)
  • Design a 2D dungeon crawling game. It must allow for various items in the maze – walls, objects, and computer-controlled characters. (The focus was on the class structures, and how to optimize the experience for the user as s/he travels through the dungeon.)
  • What is the size of the C structure below on a 32-bit system? On a 64-bit? (陳皓:注意編譯器的對齊)

struct foo {

char a;
char* b;
};

posted on 2011-07-14 10:13 simplyzhao 閱讀(575) 評論(0)  編輯 收藏 引用 所屬分類: M_面試題集錦

導航

<2010年9月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

統計

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久视频免费观看| 久久久91精品| 国产精品午夜电影| 欧美偷拍一区二区| 欧美午夜精品久久久久久超碰| 欧美精品97| 欧美日韩精品一区视频| 欧美视频中文字幕| 国产精品自拍小视频| 国产性天天综合网| 在线观看亚洲精品| 亚洲人成在线观看一区二区| 日韩视频在线永久播放| 亚洲永久免费| 久久久久久一区二区| 欧美777四色影视在线| 亚洲三级视频| 欧美大片在线看免费观看| 亚洲国产成人精品久久| 一区二区不卡在线视频 午夜欧美不卡'| 一区二区三区高清在线| 久久精品91久久香蕉加勒比| 欧美国产在线观看| 国产精品中文字幕欧美| 亚洲国产小视频在线观看| 亚洲一区欧美| 男女精品视频| 亚洲伊人一本大道中文字幕| 久久在线观看视频| 国产精品欧美一区喷水| 亚洲私人影院在线观看| 久久精品女人的天堂av| 欧美日韩不卡一区| 黄色成人免费网站| 亚洲性视频网站| 欧美激情1区2区3区| 亚洲在线成人| 欧美日韩国产免费| 亚洲二区视频| 久久精品91| 国产精品99久久久久久久女警| 久久婷婷久久| 国产欧美日韩在线视频| 一区二区三区三区在线| 欧美成ee人免费视频| 午夜宅男久久久| 国产精品国产自产拍高清av王其| 尤物yw午夜国产精品视频| 亚洲欧美春色| 夜夜嗨av色一区二区不卡| 欧美成人一区在线| 在线免费观看视频一区| 久久久999精品| 午夜精品国产精品大乳美女| 国产精品免费看| 亚洲一区国产一区| 一区二区三区www| 欧美乱妇高清无乱码| 亚洲日本中文字幕| 亚洲国产视频一区| 欧美高清视频在线| 亚洲欧洲精品一区二区精品久久久| 久久久久久久一区| 久久成年人视频| 黄色精品一区| 欧美不卡激情三级在线观看| 久久欧美中文字幕| 亚洲成人原创| 欧美国产三区| 欧美黄色小视频| 99热在线精品观看| 99国产精品久久久久久久久久 | 久久久久久久久一区二区| 国产欧美精品国产国产专区| 先锋影音国产一区| 亚洲欧美在线播放| 激情成人亚洲| 蜜桃av一区| 欧美chengren| 亚洲午夜视频在线观看| 亚洲在线播放| 在线不卡视频| 亚洲欧洲另类国产综合| 欧美日韩中文字幕精品| 欧美亚洲视频| 久久九九精品99国产精品| 亚洲国产一区二区三区a毛片| 欧美激情精品久久久久久久变态| 亚洲视频一区| 国产一区二区在线观看免费| 免费成人高清| 久久福利一区| 久久国产精品99国产| 久久深夜福利| 性伦欧美刺激片在线观看| 亚洲国产精品第一区二区| 国产精品久久波多野结衣| 欧美国产精品一区| 欧美怡红院视频| 亚洲国产精品精华液网站| 欧美一区2区视频在线观看 | 夜夜爽99久久国产综合精品女不卡| 久久国产高清| 亚洲欧美激情四射在线日| 亚洲精品国产品国语在线app| 国产亚洲视频在线| 伊人久久亚洲影院| 国语自产精品视频在线看抢先版结局 | 欧美日韩精品免费观看| 久久一区中文字幕| 香蕉久久夜色精品国产使用方法| 久久精品一区二区| 在线一区日本视频| 久久精品道一区二区三区| 99精品视频一区| 欧美色大人视频| 亚洲全黄一级网站| 国产精品成人免费| 亚洲人成在线影院| 亚洲精品网站在线播放gif| 久久久国产精品一区二区三区| 欧美国产日韩一区| 欧美一区二区三区四区在线观看地址| 亚洲精品免费观看| 欧美黄色网络| 久久久最新网址| 在线视频免费在线观看一区二区| 亚洲欧美欧美一区二区三区| 亚洲麻豆av| 亚洲一区二区三区高清不卡| 一区二区三区精密机械公司| 国产精品男人爽免费视频1| 久久在线精品| 欧美成人在线网站| 韩日精品中文字幕| 久久亚洲精品欧美| 亚洲一区二区三区在线看| 久久久精品国产免大香伊 | 国产在线欧美日韩| 嫩模写真一区二区三区三州| 欧美成人午夜激情视频| 国产在线视频欧美| 老司机免费视频一区二区| 亚洲男人天堂2024| 男人的天堂成人在线| 亚洲狼人综合| 小黄鸭精品aⅴ导航网站入口 | 亚洲国产精品黑人久久久| 久久精品女人| 欧美日韩国产专区| 99国产精品99久久久久久| 亚洲美女在线一区| 欧美黄色一区二区| 国产精品国色综合久久| 欧美不卡三区| 亚洲精品在线电影| 国产精品女人毛片| 欧美国产激情| 亚洲性图久久| 亚洲女性喷水在线观看一区| 国产精品成人播放| 亚洲欧美一区在线| 免费观看成人www动漫视频| 亚洲亚洲精品三区日韩精品在线视频 | 欧美.日韩.国产.一区.二区| 亚洲精品一二三| 亚洲欧美国产三级| 国产精品久久久久久久久久免费| 亚洲美女少妇无套啪啪呻吟| 亚洲午夜在线观看视频在线| 欧美日韩精品免费看| 久久久久久亚洲精品不卡4k岛国| 欧美诱惑福利视频| 亚洲国产精品热久久| 欧美在线www| 国产精品大全| 亚洲视频成人| 国产精品久久久久久久午夜片 | 久久噜噜噜精品国产亚洲综合| 国产精品久久999| 亚洲高清中文字幕| 国产一区二区在线免费观看| 欧美大片在线观看一区| 国产精品久久久久国产a级| 亚洲精品一区二区在线| 国产欧美成人| 亚洲一区www| 亚洲国产精品精华液2区45| 性欧美videos另类喷潮| 久久久99久久精品女同性| 在线欧美日韩精品| 国产精品xxxxx| 久久久久久亚洲综合影院红桃| 久久亚洲精品一区二区| 国产毛片一区二区| 欧美在线观看视频一区二区三区| 久久免费视频网| 国产精品久久福利| 欧美成人黑人xx视频免费观看| 欧美激情影音先锋|