-
Notifications
You must be signed in to change notification settings - Fork 0
/
baidu-interview-rd.html
416 lines (274 loc) · 17.7 KB
/
baidu-interview-rd.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
<!DOCTYPE html>
<html lang="zh-Hans,default">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
<meta name="theme-color" content="#222">
<meta name="generator" content="Hexo 4.2.0">
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png">
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png">
<link rel="mask-icon" href="/images/logo.svg" color="#222">
<link rel="stylesheet" href="/css/main.css">
<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css">
<script id="hexo-configurations">
var NexT = window.NexT || {};
var CONFIG = {"hostname":"www.mak-blog.com","root":"/","scheme":"Muse","version":"7.7.1","exturl":false,"sidebar":{"position":"left","display":"post","padding":18,"offset":12,"onmobile":false},"copycode":{"enable":false,"show_result":false,"style":null},"back2top":{"enable":true,"sidebar":false,"scrollpercent":false},"bookmark":{"enable":false,"color":"#222","save":"auto"},"fancybox":false,"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"algolia":{"hits":{"per_page":10},"labels":{"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}},"localsearch":{"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},"motion":{"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}}};
</script>
<meta name="description" content="今年的4月底,叫一个师兄内推,有机会去到百度面试后台开发的岗位。下面就记录一下过程吧,由于准备是不怎么充分,最后就跪了。">
<meta property="og:type" content="article">
<meta property="og:title" content="百度实习面经-研发岗">
<meta property="og:url" content="http://www.mak-blog.com/baidu-interview-rd.html">
<meta property="og:site_name" content="Songtao Mai">
<meta property="og:description" content="今年的4月底,叫一个师兄内推,有机会去到百度面试后台开发的岗位。下面就记录一下过程吧,由于准备是不怎么充分,最后就跪了。">
<meta property="article:published_time" content="2014-05-15T01:14:44.000Z">
<meta property="article:modified_time" content="2020-02-21T08:54:45.011Z">
<meta property="article:author" content="Songtao Mai">
<meta property="article:tag" content="百度">
<meta property="article:tag" content="面试">
<meta name="twitter:card" content="summary">
<link rel="canonical" href="http://www.mak-blog.com/baidu-interview-rd.html">
<script id="page-configurations">
// https://hexo.io/docs/variables.html
CONFIG.page = {
sidebar: "",
isHome: false,
isPost: true
};
</script>
<title>百度实习面经-研发岗 | Songtao Mai</title>
<noscript>
<style>
.use-motion .brand,
.use-motion .menu-item,
.sidebar-inner,
.use-motion .post-block,
.use-motion .pagination,
.use-motion .comments,
.use-motion .post-header,
.use-motion .post-body,
.use-motion .collection-header { opacity: initial; }
.use-motion .site-title,
.use-motion .site-subtitle {
opacity: initial;
top: initial;
}
.use-motion .logo-line-before i { left: initial; }
.use-motion .logo-line-after i { right: initial; }
</style>
</noscript>
</head>
<body itemscope itemtype="http://schema.org/WebPage">
<div class="container use-motion">
<div class="headband"></div>
<header class="header" itemscope itemtype="http://schema.org/WPHeader">
<div class="header-inner"><div class="site-brand-container">
<div class="site-nav-toggle">
<div class="toggle" aria-label="Toggle navigation bar">
<span class="toggle-line toggle-line-first"></span>
<span class="toggle-line toggle-line-middle"></span>
<span class="toggle-line toggle-line-last"></span>
</div>
</div>
<div class="site-meta">
<div>
<a href="/" class="brand" rel="start">
<span class="logo-line-before"><i></i></span>
<span class="site-title">Songtao Mai</span>
<span class="logo-line-after"><i></i></span>
</a>
</div>
</div>
<div class="site-nav-right"></div>
</div>
<nav class="site-nav">
<ul id="menu" class="menu">
<li class="menu-item menu-item-home">
<a href="/" rel="section"><i class="fa fa-fw fa-home"></i>Home</a>
</li>
<li class="menu-item menu-item-archives">
<a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>Archives</a>
</li>
<li class="menu-item menu-item-tags">
<a href="/tags/" rel="section"><i class="fa fa-fw fa-tags"></i>Tags</a>
</li>
<li class="menu-item menu-item-about">
<a href="/about/" rel="section"><i class="fa fa-fw fa-user"></i>About</a>
</li>
</ul>
</nav>
</div>
</header>
<div class="back-to-top">
<i class="fa fa-arrow-up"></i>
<span>0%</span>
</div>
<main class="main">
<div class="main-inner">
<div class="content-wrap">
<div class="content">
<div class="posts-expand">
<article itemscope itemtype="http://schema.org/Article" class="post-block " lang="zh-Hans">
<link itemprop="mainEntityOfPage" href="http://www.mak-blog.com/baidu-interview-rd.html">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avatar.gif">
<meta itemprop="name" content="Songtao Mai">
<meta itemprop="description" content="记录,分享,交流的空间">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="Songtao Mai">
</span>
<header class="post-header">
<h1 class="post-title" itemprop="name headline">
百度实习面经-研发岗
</h1>
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="fa fa-calendar-o"></i>
</span>
<span class="post-meta-item-text">Posted on</span>
<time title="Created: 2014-05-15 09:14:44" itemprop="dateCreated datePublished" datetime="2014-05-15T09:14:44+08:00">2014-05-15</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="fa fa-calendar-check-o"></i>
</span>
<span class="post-meta-item-text">Edited on</span>
<time title="Modified: 2020-02-21 16:54:45" itemprop="dateModified" datetime="2020-02-21T16:54:45+08:00">2020-02-21</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="fa fa-folder-o"></i>
</span>
<span class="post-meta-item-text">In</span>
<span itemprop="about" itemscope itemtype="http://schema.org/Thing">
<a href="/categories/%E5%A4%A7%E5%AD%A6/" itemprop="url" rel="index">
<span itemprop="name">大学</span>
</a>
</span>
</span>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<p>今年的4月底,叫一个师兄内推,有机会去到百度面试后台开发的岗位。下面就记录一下过程吧,由于准备是不怎么充分,最后就跪了。</p>
<a id="more"></a>
<p>一面:一上来就问了什么时候能来实习,果断的说7月到10月都可以一直来,现在到7月一星期可以来3到4天。然后就问熟悉C语言或者C++吗,没复习过C++,果断说了C语言用得比较多。然后他就针对一个<code>static</code>的问题问了很久,我按照网上的答案说了,静态的局部变量比较好解析,然后解析了静态全局变量的问题,我说限定作用域,但是只能在一个c文件里初始化。本来就不太懂,然后他就举例说:在一个.c文件中<code>static</code>初始化了一个变量,第二个.c文件就不能初始化吗?然后我说不能,估计打错了,然后他就问有没有其他办法调用。囧,然后我说.c不能<code>include</code>另一个.c吧,他就说,那我在一个.h里面声明,我就说不建议在.h那里初始化一个变量吧。囧,一直没进正题。然后我就看他死揪着不放,就硬着头皮说:我觉得.c可以这样定义,但是这个变量的作用域就只有这个文件,应该跟其他文件不干扰,后面加了一句,这是我猜的,因为我也没这样写过。<br>然后第二个问题是<code>static</code>一个函数怎么办,当时一时犯晕说了应该函数执行效率高一点吧,然后他说不对,<code>inline</code>才是这样的效果,这个是用来限制函数作用域的,这个以前看过忘了。<br>然后就叫介绍一下排序算法吧:冒泡,选择,插入,归并,快速,堆排序这些,然后他就说你挑两个说说时间和空间复杂度吧,立马挑了快排和堆排序。堆排序没说明白,说了第一次建立堆要用O(n)复杂度,重构的logN没解析清楚,当时就说了可能忘记了堆的一个特点。他表示同意。然后再解析快排。后来他又问了怎么排序一个链表,我想了想,归并应该可以吧,然后他说归并要用空间换时间,有没有一个O(1)的算法,我就没想到,他提示了一下,选择排序,我说这个可以,但是时间复杂度高,我就提出了每次找到最大节点后,改变指针。他又提示一下有没有不改变指针的,我当时就是不改变指针怎么排序,他说交换链表的值。囧。<br>后面就又问了什么是3次握手和4次握手,我说不知道什么是4次握手,就解释了3次握手,然后他说你不知道终止通信的4次握手吗?我说那不是4次挥手吗?囧。然后就解释一下,然后他问为什么是4次,我说因为3次的话不能保证被动端有没有停止。也要被动端主动发起一个FIN报文。然后他说你说得也差不多,但是最重要的原因是主动方发了FIN报文后不能再发数据了,但是能收数据,被动方收到FIN之后,可以再发一段数据给主动方,然后再自己发一个FIN关闭。<br>然后就说写一段代码吧。就写了一个两个有序链表合并的。<br>写完代码就又问了一下你说一下浏览器输入一个<code>www.baidu.com</code>的数据通信流程吧。然后说了先发DNS报文解析域名IP,然后封装HTTP协议,发给服务器端,然后就服务器放回html的数据格式。浏览器收到后就解析。根据里面的内容在请求一些javascript,图片等。这论坛看过有人这样说,我也这样说了。但是说了之后,他又跟我提了一些东西,例如DNS和HTTP协议是应用层的,下面是TCP层,在下面是IP层之类的。所以我后来感觉还说漏了一些东西,就是HTTP协议是TCP协议的,然后TCP怎么封装到数据链路层,然后怎么通过路由之类的,不知道要不要加上这些东西。<br>然后问了一下有什么问题,就问了一下后台开发是做什么的,他说包括3部分,其实没听懂哪3部分,我就问了一下那个需要的人力多,他说都需要。囧。然后就叫我在这里等一下。<br>二面,一个挺严肃的人拿着手提进来,好像挺忙的<br>开始就问项目里面的问题,扯了一下,他说其实没听明白,就画图再扯了一下。<br>然后就问了一下<code>socket</code>建立的过程,说了blind,listen,connect,send,receive,close之类的,然后他说blind之前还有一步,我说不知道。<br>就说写程序吧,第一道题是在一个双向的链表中,插入一个节点,输入条件是给出插入的位置和插入的节点,挺简单的,考虑一下如果插入的位置是最后一个节点的情况。<br>第二道题是字符串的反转,提示说这个字符串很大,我说很大就怎么反转,他又说了输入参数是字符串的指针和一个size。然后我又问了一个很囧的问题,输入的size算不上算上结束符’\0’。他访问我,你说?立马囧了,估计这发问引起了不好的印象,立马写了一个,头尾调换的代码,考虑一下尾指针在哪就行了,很囧,漏写了i++之类的语句,立马叫我检查了一下。<br>后来写完代码,又问了我一下本科时候的项目,又乱扯一通。<br>然后说你了解python吗,我说在GAE编过一个程序,爬图片和网址,他就问爬网址是用哪一个库,我说是大四写了,忘记了,囧。<br>然后就问你熟悉C++吗,我说最近项目都用C,说移植性好,不怎么记得了。囧<br>他说了一句:“好吧”。就说叫我在这里等一下。<br>然后我觉得好像有三面的时候,他又进来了,说今天的面试就到这里吧,面试结果在5.1后会通知的。<br>囧,回来的途中一直在想会不会二面的跟大BOSS商量一下之后,说这也没啥好问的,不面了。。。</p>
</div>
<footer class="post-footer">
<div class="post-tags">
<a href="/tags/%E7%99%BE%E5%BA%A6/" rel="tag"># 百度</a>
<a href="/tags/%E9%9D%A2%E8%AF%95/" rel="tag"># 面试</a>
</div>
<div class="post-nav">
<div class="post-nav-item">
<a href="/ubuntu-server-multi-node-havana-ovs-gre.html" rel="prev" title="ubuntu server多节点部署havana的OVS-GRE模式">
<i class="fa fa-chevron-left"></i> ubuntu server多节点部署havana的OVS-GRE模式
</a></div>
<div class="post-nav-item">
<a href="/sfbuy-minnetonka-shoe.html" rel="next" title="用SFBuy顺丰海淘迷你唐卡平底鞋">
用SFBuy顺丰海淘迷你唐卡平底鞋 <i class="fa fa-chevron-right"></i>
</a></div>
</div>
</footer>
</article>
</div>
</div>
<script>
window.addEventListener('tabs:register', () => {
let activeClass = CONFIG.comments.activeClass;
if (CONFIG.comments.storage) {
activeClass = localStorage.getItem('comments_active') || activeClass;
}
if (activeClass) {
let activeTab = document.querySelector(`a[href="#comment-${activeClass}"]`);
if (activeTab) {
activeTab.click();
}
}
});
if (CONFIG.comments.storage) {
window.addEventListener('tabs:click', event => {
if (!event.target.matches('.tabs-comment .tab-content .tab-pane')) return;
let commentClass = event.target.classList[1];
localStorage.setItem('comments_active', commentClass);
});
}
</script>
</div>
<div class="toggle sidebar-toggle">
<span class="toggle-line toggle-line-first"></span>
<span class="toggle-line toggle-line-middle"></span>
<span class="toggle-line toggle-line-last"></span>
</div>
<aside class="sidebar">
<div class="sidebar-inner">
<ul class="sidebar-nav motion-element">
<li class="sidebar-nav-toc">
Table of Contents
</li>
<li class="sidebar-nav-overview">
Overview
</li>
</ul>
<!--noindex-->
<div class="post-toc-wrap sidebar-panel">
</div>
<!--/noindex-->
<div class="site-overview-wrap sidebar-panel">
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
<p class="site-author-name" itemprop="name">Songtao Mai</p>
<div class="site-description" itemprop="description">记录,分享,交流的空间</div>
</div>
<div class="site-state-wrap motion-element">
<nav class="site-state">
<div class="site-state-item site-state-posts">
<a href="/archives/">
<span class="site-state-item-count">126</span>
<span class="site-state-item-name">posts</span>
</a>
</div>
<div class="site-state-item site-state-categories">
<span class="site-state-item-count">19</span>
<span class="site-state-item-name">categories</span>
</div>
<div class="site-state-item site-state-tags">
<a href="/tags/">
<span class="site-state-item-count">173</span>
<span class="site-state-item-name">tags</span></a>
</div>
</nav>
</div>
</div>
</div>
</aside>
<div id="sidebar-dimmer"></div>
</div>
</main>
<footer class="footer">
<div class="footer-inner">
<div class="copyright">
©
<span itemprop="copyrightYear">2020</span>
<span class="with-love">
<i class="fa fa-user"></i>
</span>
<span class="author" itemprop="copyrightHolder">Songtao Mai</span>
</div>
<div class="powered-by">Powered by <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> v4.2.0
</div>
<span class="post-meta-divider">|</span>
<div class="theme-info">Theme – <a href="https://muse.theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Muse</a> v7.7.1
</div>
</div>
</footer>
</div>
<script src="/lib/anime.min.js"></script>
<script src="/lib/velocity/velocity.min.js"></script>
<script src="/lib/velocity/velocity.ui.min.js"></script>
<script src="/js/utils.js"></script>
<script src="/js/motion.js"></script>
<script src="/js/schemes/muse.js"></script>
<script src="/js/next-boot.js"></script>
</body>
</html>