面试技巧

奇虎360研发岗位2014年校园招聘一二面题目

职场词典 zhichang.cidiancn.com

阅读: 162

       职位类型:研发类

       招聘公司:奇虎360

       面试时间:2014校招

       一面考的题目比较基础。

       1. const char *p = "Hello World";

       char p[] = "Hello World";

       分别求长度和所占用空间大小,有啥区别?

       提示:求长度都可以用strlen(p),求占内存空间大小第一个不能用sizeof,第二个可以用sizeof

       另外:第二个:strlen(p) = 11, sizeof(p) = 12

       2. 给定一个正整数n,将其分成m段,每段为n1,n2,...,nm,求怎么划分使得n1*n2*...*nm最大。

       提示:这题和面试官周旋了很长时间,但最后方程式还是未完全写对。

       3. 给一个数组a和长度len,删除其中的负数并保证数组中原数据相对次序不变

void removeNegative(int *a, size_t len);

       提示:难就难在要保证数组中原数据相对次序不变,大家头脑风暴吧。

       4. 进程通信有哪几种方式?选两种你最熟悉的方式进行具体讲解。两个进程怎么通过共享内存进行通信?(进程间可以共享栈吗?)

       # 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。

       # 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。

       # 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。

       # 消息队列( message queue ) : 消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。

       # 信号 ( sinal ) : 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。

       # 共享内存( shared memory ) :共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号两,配合使用,来实现进程间的同步和通信。

       # 套接字( socket ) : 套解口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同及其间的进程通信。

提示:我讲了共享内存和管道通信两种。

       5. 扩展:求一个数组中的第k大的数

       提示:这是因为笔试题中最后一题是“求一个数组中的第2大数”,这是引申题目,360就喜欢拿你的笔试题说事,这还没玩,下面还有。

       6. 关于笔试题中最后一题是“求一个数组中的第2大数”这题我写的代码有哪些缺陷?

       提示:相信大家写出来的代码与我的不相上下,但是我很多问题没考虑,被批的有些惨

       (1)判断数组a是否为null,数组长度是否为0和1;

       (2)如果数组为3,3,2,1,那么你的代码求出的第二大的数为3但正确答案为2,怎么修改使其正确。


       二面是针对所做过的项目相关问题提问的,这个应该因人而异,对于做过web方面项目的人有帮助。


       7. web测试需要测试哪些方面?举例,比如上传一个大文件Tomcat会崩溃啥的

       8. Java中的设计模式相关问题,写个单例模式,解释工厂模式的作用

       (1)饿汉式单例类

       //饿汉式单例类.在类初始化时,已经自行实例化   

       public class Singleton1 {  

           //私有的默认构造子  

           private Singleton1() {}  

           //已经自行实例化   

           private static final Singleton1 single = new Singleton1();  

           //静态工厂方法   

           public static Singleton1 getInstance() {  

               return single;  

           }  

       }  

       (2)懒汉式单例类

       //懒汉式单例类.在第一次调用的时候实例化   

       public class Singleton2 {  

           //私有的默认构造子  

           private Singleton2() {}  

           //注意,这里没有final      

           private static Singleton2 single=null;  

           //静态工厂方法   

           public synchronized  static Singleton2 getInstance() {  

                if (single == null) {    

                    single = new Singleton2();  

                }    

               return single;  

           }  

       }

       主要还是static决定了单例

       9. get和post的区别?知道重定向吗?有哪些分类?

       提示:面试官提示临时重定向和永久重定向

       10. 堆、栈和全局区都存放些什么内容?

       11. 下面这两句有啥问题吗?

       class A {

           int a = 2;

           int b = a 3;

       }

       提示:我不知道,求面试官解答,面试官说:在Eclipse下有个提示,提示将a作为静态变量,因为b引用了类中的a而非对象a(可是为什么我的Eclipse下没警告提示???)

       12. 从源路径中读取一个文件,写入到目标路径文件中。

       13. try{}catch{}finally{}机制

       提示:在try中遇到运行时异常时(例如除0操作等)或调用System.exit(1)等导致I/O直接中断,此时不会去运行finally里的语句,异常分类。具体看:http://.cnblogs/lanxuezaipiao/p/3440471

       14. struts2与struts1的区别,ssh的作用

       15. MapReduce的工作机制,里面的排序算法用的是什么(快速排序?)

       16. 写过多少行代码?怎么算出来的?

       17. 怎么比较自己所拿到的几个offer

       提示:我从下面几个方面解答了:工作地点、工作环境、职位发展前景、待遇

       18. 知道回调函数吗?举个回调函数的使用场景

       19. new和malloc都是堆分配,malloc后返回一个地址例如为p,如果p 后再free(p),是否会出问题?

       提示:会,丢失了释放的一些具体信息,如释放内存大小等

分享给亲友.

下一篇:英语面试 下一篇 【方向键 ( → )下一篇】

上一篇:外贸行业面试技巧 上一篇 【方向键 ( ← )上一篇】