面试百度服务运营部时现场让我做的程序题
面试中:1对1 面试 职业技能测试
面试问题:1. char a=255;
printf(\"$d
\",sizeof(++a));
printf(\"$d
\",a);
问两条printf的输出结果是多少?为什么会有这样的结果?这道题是百度的一条经典题,在网上可以搜到。
2. 宏的概念,与函数的区别,优缺点的比较。
3. 对linux与windows的理解,两者的优缺点。
4. 介绍一下项目,然后就项目的东西开始问。因为我的项目中涉及到socket通信的东西,所以就问了很多这方面。
操作系统:
1. 内存的页表的概念,大小,文件系统的block的大小,与页表大小的关系。
2.段错误是怎么造成的,为什么会设置段错误这样一个错误。
3.编程中使用的堆和栈,在程序运行时位于内存的什么位置?
4.文件系统中数据块的概念
5.又问了几个linux的问题,要定时执行什么操作,如何设置配置文件?要定时一次执行什么操作,如何设置配置文件?打印当前shell的进程id号,用什么命令或者操作??
面试当天 先来了一个gg,感觉跟我们差不多,后来才知道他刚正式入职3个月,先问了下擅长什么语言,偶答c语言,然后就开始了c语言的问答之旅。大概的内容有:(凭记忆)
1. char a=255;
printf(\"$d
\",sizeof(++a));
printf(\"$d
\",a);
问两条printf的输出结果是多少?为什么会有这样的结果?这道题是百度的一条经典题,在网上可以搜到。
2. 宏的概念,与函数的区别,优缺点的比较。
3. 对linux与windows的理解,两者的优缺点。
4. 介绍一下项目,然后就项目的东西开始问。因为我的项目中涉及到socket通信的东西,所以就问了很多这方面。
a.socket通信双方如何建立连接(3次握手),c/s两端建立连接的函数各有哪些?在client端connect函数中有一个参数可以设置阻塞和非阻塞方式,这两种方式有什么区别?各用于什么场合?又问到了关于进程和线程的问题。
b.关于tcp/ip的东西,分层模型,各层的作用,为什么要在ip层上加一个传输层,mtu,ttl是什么东西,为什么要设置这两个东西?
c.问了一点正则表达式的东西,很简单,可是偶不会[em19],还有脚本,偶也不熟悉。
||||
大概就这些,然后又问我,自己感觉做这个工作有哪些优势和劣势(主要从技术的角度出发),最后问我有什么问题,我就把自己准备的问题问了他一下,感觉沟通的还可以。
问完了之后,他说让我等一下,出去了,过了一会儿,进来说同事现在正忙,就跟我聊会天儿吧。我当时愣了一下,随即告诫自己这是一个很好的机会,一定要放松,好好表现。于是就很开心地聊了一会儿,大概10来分钟吧。然后他出去了,又进来一个瘦瘦的gg。开始了关于操作系统的狂轰乱炸。
偶之前没有学过操作系统,对这一部分几乎没什么了解,所以很苦恼。大概问了几个问题:
1. 内存的页表的概念,大小,文件系统的block的大小,与页表大小的关系。
2.段错误是怎么造成的,为什么会设置段错误这样一个错误。
3.编程中使用的堆和栈,在程序运行时位于内存的什么位置?
4.文件系统中数据块的概念
5.又问了几个linux的问题,要定时执行什么操作,如何设置配置文件?要定时一次执行什么操作,如何设置配置文件?打印当前shell的进程id号,用什么命令或者操作?
因为自己的操作系统的知识太匮乏,导致答得很糟糕。后来同学提点,可以主动引导面试官到自己擅长的领域,这是谈话的艺术,要学习一下。
后来我也问了他几个问题,完了之后,他说去找另一个同事,一会儿,又来一个gg,先自我介绍了下,然后就跟聊天一样,聊了下北邮宣讲会当天的情形,看了下我的简历,问了我的本科(非北邮),为什么要考北邮,本科成绩最好的是哪几科,为什么,用什么学习方法。然后让介绍下我的项目,也问了几个技术问题,就项目而问。又问了我的实习的情况,看到我简历上写对系统优化、管理很感兴趣,就问给我一台apache服务器,如何进行优化,想到什么就说什么。这个偶也没准备,想了下回答,他不是很满意。然后看到我参加的社会活动(我写了很多),问为什么要参加这么多的活动?在跟学习之间如何调整时间和精力?
举例说明在举办活动出现突发事件时,如何处理?最不喜欢什么样子的人?个人的5-10年的职业规划。最后,给出四个选择,让我按重要性排列:公司品牌,个人职业发展,团队氛围,薪酬。
然后他出去了,又找来一个gg,是最开始带我进去的那个gg。看到他感觉有些亲切,没想到发问起来很犀利,让我有些措手不及。主要针对我简历上写的东西问。比如,linux系统服务的配置方面,我做过一些最基本的配置,但都不深入,直接被他问倒了。例如:他问apache中虚拟主机的配置,问了 http协议里的东西(我一点都不了解),还有dns解析的过程,这个其实倒真是学过,但当时忘了一些东西。他很犀利地指出我的错误,提醒我基础知识学得不够牢固,汗。。。。又问了邮件的配置,如何实现邮件伪装,偶也不会:( 。最后我又问了他几个问题,了解了下运维工作的情况,就over了。
||||
个人感觉,有几点:
1. 简历一定要实事求是,写在上面的就一定要弄明白,否则会被人抓住把柄。
2. 写自己的项目经验时,不是越多越好,要针对职位要求,写跟职位相关的,不相关的没有必要写,写上反而给自己面试准备增加负担。
3. 当遇到被问自己不熟悉的领域时,可以向面试官说明自己不了解,并引导面试官到自己擅长的领域,前提是自己一定要擅长!如果你说擅长,结果问了几个问题都不会,那会给面试官留下非常不好的印象。
4. 遇到自己不会的问题,可以示意面试官给出提示,以便自己能够进一步解答问题。
5. 在面试过程中,要特别注意与面试官的沟通。眼睛要专注,听到提问后,可以要求给时间思考一下,这样让面试官认为你是在认真的思考后再回答问题,也给自己争取了时间。但是不要长时间的沉默。
6. 每个面试官面试的重点不一样,在转换面试官时,自己的思路也要马上跟上,迅速进入角色。
百度的一面就这样结束了,感觉好坏对半,不知是否有二面机会,期待ing!
差不多就这置方面,我做过一些最基本的配置,但都不深入,直接被他问倒了。例如:他问apache中虚拟主机的配置,问了http协议里的东西(我一点都不了解),还有dns解析的过程,这个其实倒真是学过,但当时忘了一些东西。他很犀利地指出我的错误,提醒我基础知识学得不够牢固,汗。。。。又问了邮件的配置,如何实现邮件伪装....