今天晚上,终于像一个大四学生一样,去了大学城华南理工参加了一场笔试。话说最近笔试面试很多,诸多笔经面经也在这段时候雨后春笋般涌现,以我一般般水平之作,谨以这篇UC笔经供大家作参考,有什么不对的希望指出来多交流。
今天6点半提前半个小时去到UC的笔试现场,华工提供给UC几栋教学楼作考试用,真心很不错,那么IT企业喜欢在华工开宣讲会和笔试,肯定是有这个原因的。虽然早去,但是去到还是没有座位了,去了加开的一个教室。刚进去就见到一个漂亮的U C MM,在黑板上写字,javascript/html5,Java/php后台,Java游戏后台这三种职位是一起笔试的,连试卷都是同一份(惊到了吧,当时我也是吓到了,不过试卷中有职位类别可以勾)。我报了Java职位,试题记不起全部了,尽量回想着写吧。
笔试题分为四部分。第一部分,是所有职位类别都要做的,主要是一些基本算法和数据结构。以及前后端的一些专项题目。
1、两个进程争夺同一个资源,问会不会发生死锁。
考线程的基本概念,线程安全是重要的一部分,经常有。
2、以下哪个是基于TCP/IP的应用程序,ICMP,SMTP,SNTP。。
Tcp/IP协议考题,有个选项忘记了。主要是想考应用层和http协议,下面一题是http的。
3、http协议中,以下哪个http头部和浏览器缓存没有关系。
这一题戳中我的死穴,不懂。http对于开发人员是很重要的。。。汗||
4、有一个完全二叉树,一共有700个节点,问他的叶子节点有多少个。
基本的不能再基本的数据结构题了
5、n个结点的强连通有向图,最少有多少条边。这题我当时跳过了
6、一个二叉树有2000个结点,问该树最少有多少层。
一道比第四题更简单的题目。
7、A同学兢兢业业码了一个1000行的程序,然后修改了其中一行,结果程序挂了。B同学悲剧地被调过来修改,但是只能通过输出到某一行的日志,通过查看日至判断异常行所在。(输出到555行,日志没问题,就说明异常代码行不在前555行)。B同学只用了10次执行查询日志,就查处异常行所在。问B最可能使用什么方法
A 二分法B贪心算法 C 动态规划D 轮询
选择题其实是有10题的,但现在我只想得起7题了,该死的脑子&(!#…,后面想到再补吧。
第二部分 javascript职位的选做题
第三部分 Java/php,Java游戏平台选做题,其中foo那题必做,其余两道做一道就行
1、有一个长度为n的数组,找出其中第k大的元素。
算法题一枚,其实想真点不是很难,不过我做了后面那题。这题就是靠普通算法,看你给出的算法效率怎样。
2、以下foo的作用是
#denfine max 100
is_p(max+1);
Int total=0;
p(max);
Foo(){
Memset(is_p,1,max+1); //将数组所有元素初始化为1
int i;
for(i=2;i<max+1;i++){
if(is_p[i]) p(total++)=i;
}
for(int y=0;y<total&&i*p[y]<max;y++){
is_p[i*p[y]]=0;
if(i%p[]==0) break;
}
}
3、设计一个网站架构,该网站
1、每天pv约100万,高峰期约2000次/秒
2、有两台服务器,8核。数据库,服务器,分布式存储
3、热点数据,如评论最多最多转发,的用户置顶(一般置顶的不会是同一人)
4、用户数据存储周期为一星期(这个我记不起可能有点描述不清)
设计一个架构,用于网站设计,画图架构设计图,并为每一个模块简要说明。
第四部分,必做题。
1、写出常去的在线评测网站,如pOJ,TopCoder,等等,并提供链接或者用户名联系。
2、你有github帐号吗,可以简单介绍,请给出github的联系
3、写出你常用的技术博客,给出链接或者是其他找到博客的方法。
第四部分的题目,我觉得给大二大一的小师弟师妹做最好,因为绝大部分人都没有(遗憾我也没有,只有一个长满了荒草的博客),但是你们可以从现在开始积累。创建一个技术博客,博客园、csdn什么都好,不管学到了什么,解决一个问题都可以写上去,甚至是你的生活-就算是今晚吃宵夜很开心也行。持之以恒,这个博客会成为你宝贵的财富。(实际上你到百度谷歌去搜,或者去大神的博客去,都会发现无数前辈大牛鼓励写blog)
总结:1、果然不够料。
2、算法和数据结构什么的是最核心的,《程序员面试宝典》里面指出的概念和题目很多都出了(不是局限在这个笔试说的)。
3、其实基础牢固了,再做一些项目,不管怎样。笔试都是有机会的,所有有笔试面试的机会真的别错过。一个人就这个水平,第一次去面试,和第十次去面试,成功率和表现差别会很大的。而且这种机会也不常有,以上都是靠楼主捶胸口才想起来的,虽然有些数据不准确,但还是希望能帮助到有需要的读者,--笑脸*-*。