欢迎来到 职场词典网 , 一个优秀的职场知识学习网站!
职位类型:研发类
招聘公司:奇虎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),是否会出问题?
提示:会,丢失了释放的一些具体信息,如释放内存大小等
下一篇:华为2014移动互联网产品管理工程师面试经验 下一篇 【方向键 ( → )下一篇】
上一篇:华为数据库工程师一面经验 上一篇 【方向键 ( ← )上一篇】
快搜