京东 搜索部门 C佳佳开发,面经占坑

更新一下:
关于几面的问题:咨询了一些人,好像是分部门和岗位,大多数都只有二面,少数有三面
下面是面经:
首先是会发一张卷子,先做笔试,题目大致如下:
1、实现一个memcpy,效率尽可能好
2、100万有序数据,是否存在两数之和等于给定值
3、求巨大数组的前K大的数
4、class里如何给引用类型成员初始化
5、C malloc出来的内存 可以调用delete吗?为什么
6、下面程序输出什么?为什么
class A
{
public:
    void print()
    {
        fprintf(stderr,"hello,world\n");
    }
};
int main()
{
    A *p=0;
    p->print();
}
7、简述一个简单的C/S通信程序的实现步骤
8、简述linux进程的内存布局
9、两个线程,共享一个整型变量,一个 ,一个--,最后输出这个变量的值,如何最大程度的提高并发能力?

这里不得不吐槽一下,在做笔试的时候,没有任何监管,周围好多人都直接拿手机查,好吧,这样做笔试有区分度吗?

做完笔试,等了大约一个小时,才轮到我面试:
一面:
基本上就是对着试卷问了一遍,然后问能不能实习什么的,最后问我有什么想问的,楼主就问面试小哥是什么部门的,用什么语言多,因为楼主不想写java,面试小哥说是搜索部门,让我放心,是用的c
一面很快,10分钟左右,然后去吃饭,回来后1点40多,等了大概一小时,二面
二面:
对着简历问,由于我简历上说自己对网络编程比较熟悉,问了一大推网络编程的问题,下面总结一下,不一定是问的顺序:
1、看过muduo库?说一下muduo库的特点,以及自己学到了什么
2、你提到了线程池,说一下怎么实现的
3、设置过socket参数吗?具体说说
4、TCP流量控制手段,拥塞控制,TCP怎么判断发生了网络拥塞
5、RST知道吧,发送一个RST会发生什么?
6、进程(线程)通信有哪些手段?
7、文件描述符知道吧?同一个进程打开同一个文件两次,会发生什么?具体说说文件的底层数据结构
8、除了多线程,多进程用过吗?(楼主答知道一些概念fork等,没怎么用过)
好像还有其他的关于网络的问题,记不得了
之后让我说一下项目,由于实验室的项目的外包,java web,面试官好像不敢兴趣,全程没提什么问题
之后好像是实在没什么聊的,就在笔试题的基础上问了一些问题:
1、第五题你是怎么答的?(笔试答卷被一面面试官收走,所以二面没有)
我说从malloc 和 new的区别入手,malloc只是申请内存,而且返回的是void*类型,而new分为两个步骤,一个步骤是申请内存,第二个步骤是调用构造函数进行初始化,所以不能调用delete,他说其实对于内置变量类型,是可以直接调用delete,这个我和他解释了一下,说对于内置变量类型比如 int p = new int[10];delete p 和delete []p是一样的,而对于用户自定义类型 obj p = new obj[10];则delete p 和 delete []p则不一样,就是说对于内置类型和自定义类型编译器处理的方式不一样
2、第六题你是怎么答的?
我说这题的考点应该是 A*p = 0;是相当于把p置为NULL,而NULL指针能不能调用成员函数。这个应该分为两种情况,一种情况是print没有使用类的成员变量,也就是没有对内存进行读写操作,这个时候是不会报错,可以正常运行,输出hello,如果print对成员变量进行的读写,则会报错。
因为对于普通成员函数,编译器会对其进行改名,使其调用方式和普通函数一样,所以虽然p为NULL,但是还是可以调用。
面试官问如果把print声明为虚函数呢?我思考了一下说这个时候会报错,因为p为NULL的时候,没有调用构造函数,所以并没有初始化vptr。
3、第九题怎么答的?
我说用C 11的原子变量,他不满意,说这样其实也是锁,只不过是底层实现的,比mutex更效率一些。我说我想不到其他方法。然后他提示了一下,说不一定非要对变量本身进行操作。这个时候我一下子明白了,原来题意是两个线程只对变量进行 --操作,没有其他,那完全可以在启动线程前,将变量的值赋值给两个变量,然后通过ref()的方式传给线程,最后将两个值相加即可,不需要加锁
最后说今天的面试结束了,所有人都是二面,我问了一下结果什么时候会出,他说他们会把面试情况报给公司,什么时候出他也不知道。我又问挂了话会有通知吗?他说应该没有通知了。
然后他好像给我进行打分,我瞄了一眼,好像是一个√一个×,感觉是GG了
#京东##C++工程师#
全部评论
插眼
点赞 回复 分享
发布于 2017-08-12 17:36
老哥稳
点赞 回复 分享
发布于 2017-08-12 15:54
看来京东现场面就这个周末了
点赞 回复 分享
发布于 2017-08-12 16:06
有看到面试官给的评价没有
点赞 回复 分享
发布于 2017-08-12 16:10
m
点赞 回复 分享
发布于 2017-08-12 22:25
先顶
点赞 回复 分享
发布于 2017-08-12 23:30
点赞 回复 分享
发布于 2017-08-12 23:48
几面?
点赞 回复 分享
发布于 2017-08-13 12:55
这个面试啥时候有结果?
点赞 回复 分享
发布于 2017-08-13 15:53
怎么这么快就面了。。现在投还赶得上内推吗
点赞 回复 分享
发布于 2017-08-13 19:54
c++就是两面。不用怀疑。搜索研发部。
点赞 回复 分享
发布于 2017-08-14 13:48
看老哥的面经,才知道我cpp学的有多渣。。。求推荐书籍~我在看primer第六版
点赞 回复 分享
发布于 2017-10-18 08:03

相关推荐

点赞 评论 收藏
分享
评论
3
50
分享

创作者周榜

更多
牛客网
牛客企业服务