最近春招又面试了几家企业,其它一些企业面试见博主往期文章。
一些面试做的不周到部分总结一下:
1.(宝宝巴士)http和https考的更加深刻,除了区别外还考到哪个传输效率更高?https是对称还是非对称加密?传输过程是否有什么压缩方法?
少说问出这种问题确实为难我了,因为不会html的缘故,笔者一直没有从事web开发的相关项目,计算机网络的知识也比较薄弱,很少项目用到http协议,也没背八股文,直接被卡中软肋。
事实上,传输效率http肯定更高,这是因为https还要经过加密过程,肯定费一点时间啦。
https是对称加密的,在传输过程可以用gzip算法进行编码达到压缩html数据的目的。
2.(宝宝巴士)java和C++的话,一个类可以有多个父类吗?
C++可以继承多个父类,而java只能继承一个父类多个接口,因为笔者对java理解不深,没背对应的八股文(只会调用人家方法,或者基本的继承,jni配置等),简历虽然投C++的项目有些项目用到了java,于是就被问到此问题。
3.(宝宝巴士)面向对象的设计模式项目中有用过吗?工厂模式是什么?说明一下。
回想一下笔者其实项目中有用到设计模式,但是没有特意去记忆这些东西,只是这个方面没有背八股文讲不出来,只讲出一个单例模式,然后被问及工厂模式就寄了。这些百度上挺多文章可以自己看。
**************************以下题目后续有时间更新解析***************************
4.(宝宝巴士)虚函数的虚表指针存在内存的什么位置?虚表呢?
5.(联迪商用)数据库的左连接的查询结果,题目大致逻辑如下:
A、B两个表中有两组数据: (A表)aid name (B表)bid name
1 Sam 2 KiKi
2 KiKi 3 Lucy
执行语句:select A.aid,A.name,B.bid,B.name from A left join B on A.aid=B.bid
执行结果是?
6.(联迪商用)线性表的概念,双向链表是线性表吗?关联数组是线性表吗?
7.(福富软件)
class Fred
{
public:
void print() { std::cout << data << std::endl; }
void setData(double d) { data = d; }
private:
double data;
static int count;
};
(……)
括号中填什么样的声明能初始化元素count?( )
A.int Fred::count = 0; B.static int Fred::count=0;
C.int count=0; D.以上做法都不对
8.(顶点软件)int x = 5, y = 3; printf("%d\n", y *= x + 5);这个打印出来结果是?
9.(顶点软件)unsigned char i = 7;
int j = 0;
printf("%d\n", i);
for (; i > 0; i -= 3)
{
printf("%d\n", i);
++j;
}
printf("%d\n", j);
执行以上代码,打印出来的结果是?理由?
10.(顶点软件)int fun(int value)
{
int cnt = 0;
while (value)
{
++cnt;
value = value & (value - 1);
printf("%d\n", value);
}
return cnt;
}
执行printf("%d", fun(65535));打印结果为?
11.(联迪商用)如果用线程池来处理服务器的短链接来达到资源循环利用的问题,如果没那么多连接,却创建很多线程,不是浪费资源吗?这个问题要怎么解决?epoll一定要在遍历过程创建线程吗?能不能不创建线程?
12.(锐捷网络)编译器可以管理栈的内存,为什么不能管理堆的内存?
13.(顶点软件)linux系统中最多能打开多少个文件描述符有了解过吗?