您的位置:首页 > 其它

笔经 & 面经(实习)

2009-12-23 23:35 190 查看
Company 1:YD

2010.1

基础题

1.Linux内核中包括哪些管理,用户接口是否属于内核管理。

2.目前主流OS都包括系统态、内核态、用户态。是否正确?

3.java中syncronized和volatile修饰符的含义

4.c中extern和static的含义

5.介绍SNS的含义,你了解的SNS产品,可以向其中添加什么功能。

编程题

1.给定二维字符串数组array[{"name1","hao"},{"name2","jia"}],输入模板串为:$name1 ba $name2 you,输出结果串为:hao ba jia you。

2.对无向带权图G,求任意两点间的最大距离(邻接矩阵表示)。

以前总是自以为基础很好,特别是一些底层的专业基础课,比如OS、组成、DS之类的。但是仅限于基础的原理,对于实际产品,了解甚少。

晚上去听了一个关于IT行业分析的报告,应该认真考虑一下未来的职业发展方向了。我并不想专注于做技术,但是C++也是必须要懂的,毕竟这是c之上的一门底层开发语言,程序员必修。更重要的是,我希望成为复合型人才。刚好实验室做的东西主要是J2EE方面的,除了弄精框架、平台,更要弄懂底层的原理和上层的业务。就业方向可以是金融IT,IT咨询等。起薪最高的应该是投行的IT部门了,当然难度也很高。这不仅要求技术,还有金融领域的知识,证书之类的。我决定把这个方向作为一个奋斗目标。因为在非软件公司的IT部门,可以接触到更多其他领域的人和事。

2010.3.11

基础题

1.你最近三个月了解的互联网新产品。

2.用一句话简要介绍5种排序算法,说明其时间复杂度。

3.TCP和UDP 的区别。

4.Ajax原理

5.进程与线程的区别

算法题-1

1.求无向图是否有回路的算法

先判断边数e和点数v的关系:若e》v,说明有环。

若e<v:1)删除所有度《1的顶点及其关联的边,将该边关联的另一顶点的度减一。

2)将度变为1的顶点放入队列,取出一个顶点,重复1)直到队列为空。

若最后还有未删除的顶点,说明有环。否则无环。

2.将大整数N(10000<N<1000000000)用乘号分成4段,使各段乘积最小。动态规划

f[i][k]前i个数中插入k个乘号后乘积的最大值,a[i][j]从第i个数到第j个数表示的十进制数。

f[i][k] = max{f[j][k-1]*a[j+1][i]} , 其中k《j<i.

2010.3.18面试

一面:两道算法题

1.boolean match(String str1, String str2)。如:str1=“a*b*d”,str2=“abcd”,则返回true;str2=“abc”,则返回false

并求出算法的复杂度(max(str1.length , str2.length))

2.两地间有N个路牌,正反两面分别写到目的地的距离,和为c,用A,B两个数组记录。大风吹过,将某些路牌吹反了,输入数组C,记录的可能是A,也可能是B中的值。如何识别C中的元素,正确解最多有几种可能。

解:将所有2N个值排序,放入D[2N]中。D[1]+D[2N]=C,去掉D[2N];D[2]+D[2N-1]=C,去掉D[2N-1].....。D[2N]中剩余前N个值即为一个解。

正确解最多可能有2个。若第i个路牌有两种可能取值:C[i],C-C[i];第i+1个路牌也有两种可能:C[i+1],C-C[i+1]。需同时满足:

C[i]>C[i+1](1),C[i]>C-C[i+1](2),C-C[i]>C[i+1](3),C-C[I]>C-C[I+1](4)。其中,(2)(3)矛盾。即,若第i个路牌有两种可能,其后路牌均只有一种可能。

3.对动态规划和贪心算法的理解,有什么区别

二面:设计问题

1.设计一个树形目录结构(索引?),与数据库有关。

2.熟悉哪些设计模式(Factory),什么情况下使用,有什么好处

3.对互联网广告的理解,如竞价排名。网页排序都需要考虑什么因素(频率?)

竞价排名按效果付费,提升企业的知名度和销售额。企业在baidu注册与产品相关的关键词,用户查询关键词时可查找到企业。按照给企业带来的潜在客户的访问量收费。

Company 2:YH(Bingo!)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: