计算机,程序员,面试,总结_第1页
计算机,程序员,面试,总结_第2页
计算机,程序员,面试,总结_第3页
计算机,程序员,面试,总结_第4页
计算机,程序员,面试,总结_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机程序员工作面试总结9月份基本都是在忙碌的找工作中度过,这也是对自己上了近20年学的一个交代。一共参加笔试、面试的公司有:百度、腾讯、阿里巴巴、华为、搜狗、360。拿到offer:百度、腾讯、阿里巴巴、搜狗、360Special:百度、阿里巴巴、搜狗按时间顺序对面试进行下总结:百度(一面:软件研发(系统部。问了很多技术基础知识,有C/C+、网络、操作系统、linux等。能够想起来的有:C程序的几个段,bss如何映射, ELF的基本格式,虚函数如何实现、ajax底层原理。rip和ospf的原理、linux中route命令有哪些内容、数据库建立索引有哪些利弊,建立索引应该注意哪些,其他的和网络

2、编程有关,记不大清了。百度(二面:介绍项目,linux中虚拟化(LCX的实现,epoll高效的原因,内核CFS的实现。给你一个数组,问怎么在里面放上运算符,让前n-1个数运算完以后等于最后一个数。其他记不清了。百度(三面:项目介绍,百度地图中的一些算法,R树及其原理,兴趣,爱好,期望工作地点等等。百度面试感觉知识面涉及的还比较多的。每一面大概四五十分钟。阿里(一面:阿里之前拿到实习offer,说的直接终面,不知道为什么上来是个技术面。问的有linux内核方面,内核线程的特点,怎么切换。A*算法,写了一个回文最小切割(两次dp,java常用的垃圾回收算法,什么利弊(这个简历写错方向了,本来想面C

3、+,结果面的java,还好java也有基础。后来又回过头来问了一点项目,问如果你现在再架构一次,你会怎么做等等,所以,做过的项目不仅要知道项目的难点在哪,也要知道当时做项目时的不足等等。其他的记不清了。阿里(二面:我以为这次要hr了,结果还是技术面,因为开始以为是hr,就不怎么想说技术,但是后来发现是技术面。问了自己对SDN的看法和理解,进程切换时内核是如何执行的,内核进程调度算法中CFS和O(1调度策略的优劣。MapReduce的思想,问了下GFS,外部排序问题,内存管理等。其他的记不清了。阿里(终面:终面是hr和技术总监一起面。介绍项目,说了一下项目中遇到的困难,如何解决。当CPU负载很大

4、,利用率却很少可能会是哪些原因,对linux病毒的了解。数据库各种索引优缺点。hr也问了一些。后来问我有什么想问的。我就问了说好的终面,为什么让我面三轮,hr 很无奈说辛苦了,这是最后一轮。后来知道加面可以加钱。拿到阿里云的offer。腾讯(一面:后台研发。进程的栈多大,堆多大,线程栈多大。线程和进程的区别,多对对模型如何实现。问了些c+底层实现,写了两个代码,区间重合和topk,分析复杂度。问了一个概率问题。其他的记不清了。总体感觉面试挺匆忙,可能一面人多的原因。腾讯(二面:这是让我唯一感觉有压力的面试。自我介绍都没直接开问。一个客户端发数据,服务端一直sleep,将会产生哪些问题。不用循环

5、实现将一个int的m位到n位置0.如何模仿GDB打印函数的调用链。证明洗牌算法。红黑树的插入删除。B*树和B+树的优缺点。证明卡特兰。如何用C来实现java的接口。怎么样减少编译文件依赖。给了一段代码让用循环不变式分析,证明程序的正确性。给了一段代码让分析汇编过程,cdecl什么情况,stdcall什么情况,fastcall什么情况。写一个判断int相加溢出的函数,unsigned相加溢出的函数,相乘溢出的函数。其他的记不清了。中午没什么人,一下面了一个多小时,直到面试官说我基本功很不错才松了口气。腾讯(hr面:自己的优缺点,说一个公司录用你的理由,其他的忘了。华为(一面没问什么技术,说了下项

6、目。华为(二面也没问什么技术,问了下个人情况,拿到什么offer。(华为最后莫名其妙的挂了360(一面后台开发。360后台面的还是比较难的,每一面都有一个多小时。上来就问内核源码的一些实现,之后写算法:给你一个表,里面是ip 和访问时间,找出所有十分钟内访问超过100次的ip;给你一系列公交车的路线,找到从一个站点到某一个站点换乘次数最少的路线(不要求路径最短。页机制和段机制的实现,页表放在哪里,如何调入内存。其他的记不清了。360(二面:使用进程池要注意哪些,和线程池有什么不同。如何解决网络编程中的惊群问题,如何防止select冲突。内核如何实现保护模式,如何处理已存在的僵尸进程。又问了两个

7、算法。说有一排N个格子,其中有k个坏了(不指定是哪k个,一个人从左跳格子跳到右,每次可以跳一个,也可以跳2个,坏的格子不能站,问他能成功从左跳到右的概率。一个长方型碰撞检测代码。360(hr面:介绍项目,个人倾向工作地等。搜狗:搜素部门。搜狗只有一面,表现差一点的加面。问的大都是开放性问题,写一个字符串转整形,但字符串是由罗马数字组成的。问了搜素引擎的一些原理,PageRank的基本思想,相似性hash。几大分词算法,说了几种经典。面试官又问如果字典是不断更新的咋办,字典词不够咋办,第一个字典是怎么做出来的。然后问了adboost原理,马尔科夫链原理,主成分分析原理。gps如何定位。阿里实习(

8、一面项目介绍,画了个tcp状态转换图,内核收到一个tcp或者udp报文如何知道交给那个进程,这个我说根据端口号,他又问具体怎么实现,怎么找到对应端口号的进程,网络的内核部分看的不多,就胡乱说了 点,什么红黑树,bitmap,写红黑树插入代码。 阿里实习(二面) 项目介绍,MFC 消息机制,java 垃圾回收如何实现。还有一个算法 题,说有 n 个节点 n 条边组成一个圈,每个节点上面有一个数,边上 有一个+或*, 如果消掉某条边, 其相邻两个节点就用这个运算符合并。 这样一路消边到底,问用什么过程能让最后得到的数最大(dp 题). 感受:找工作主要是靠积累,厚积才能薄发。平时思考问题要注意有

9、深度,只看书是不能理解太深的,要有实践。不否定一些人天天拿着 书看最后可能也能找到差不多的工作,但是我始终觉得书上的太肤 浅,需要自己通过项目去实践去感悟去钻研。再一个学习一定要有深 度,例如 c+你仅仅停留在按照 inside 上的画个内存布局、虚函数表 肯定是不行的,这样你最多和你的对手差不多,找工作是选拔性的, 你需要比大多数人强至少一个档次。如果算法仅仅停留在什么“剑指 offer”“编程之美”这种烂大街的而且只能授人与鱼不能授人与渔的 水平,很明显你也不能在一群人中脱颖而出。相反你需要有扎实的基 本功,组合数学、具体数学,看一些授人予渔的书,比如 Cracking the codin

10、g interview、编程珠玑、算法导论、算法艺术与信息 学竞赛等等。如果有时间看一下计算机程序设计艺术更好。有了这些 基础可以没事刷刷题,可以从稍简单的 leetcode 入手,然后 poj、 NOCOW 、Careercup 等。 然后就是基础,基础很重要,但是这个有很宽泛,什么是基础, 比如当你看到一段程序,脑海里知道对象的内存布局,程序的编译连 接装载过程、程序的分段,这就是基础。操作系统的原理,如进程调 度,内存管理这就是基础。再一个就是思想, MapReduce 是思想、 PageRank 是思想、MVC 是思想、设计模式也是思想。这些只看书是 没用的,虽然也能看懂,但是看懂可领

11、悟相差很远,比如 effective 的 55 个条款,没什么难懂的,但是真正领悟是需要很多的代码量和实 践经验来的。 开阔眼界很重要,不要觉得自己学 C+,看 java 就是浪费时间, 如果项目需要你用 java, 利用这个机会学习一下相信反过来对比 C+ 会有更好的认识。操作系统也是如此,通过学习 windows 对比 linux 的实现会让你理解更透彻。总之,自己的知识不应该是一个个孤立的 点,而要形成面。 我不建议一个新生入学就把心思花在找工作上,首先,这就如同 一个大一新生入学就开始准备考研一样,即使最后考上了,但是四年 的时间你可能少学到很多,你所知道的仅仅是零零碎碎的书本知识, 以后工作实践起来可能需要很长时间的恶补; 再次缺少实践对于计算 机专业是很不好的,很多东西是需要从实践项目中体会的,而且最重 要的是通过做项目可以培养一个人的自学能力。最后学东西不要贪 多,多的前题时扎实。本科加上研究生各种技术书籍大概看了有近百 本,其中精读过的大概有 30 本左右,每本不同时期读过三到五遍, 每一遍都有不同的收获,所以这是一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论