PDD&360二面面经
4707
发布于 未知归属地

lz只记录了自己答的不是很好的题目,有几道题目答案也不是很确定,欢迎大家讨论

360二面&pdd二面

一个空类实例化,编译器会为他生成哪些函数?

构造函数、析构函数、拷贝构造函数、赋值运算符、取值运算符、取值运算符 const版本

如何计算有多少个1?

说了x&(x-1)和 遍历,不太满意,要说一个用额外空间的?可能是要位图?bits?不知道

函数调用百万次该怎么优化?

内联函数、宏函数。还有呢?优化函数逻辑。还有呢?

一个对象重复构造析构千万次、百万次该怎么优化?

想说内存池但是没说,有点不好。说了在外面构造,然后调用一个reset初始化。后面就没问。

lambda函数的原理?值传递引用传递怎么整的?

编译器会把一个lambda表达式生成一个匿名类的函数对象,并且重载函数调用运算符。值传递和引用传递的原理就是在匿名类里面的的成员变成引用或者纯纯的值,混合引用的情况下,经过值捕获的变量是不可以被修改的。除非后面接了mutable。调用的时候会加const修饰

SELECT和EPOLL的区别

时间复杂度 底层原理 还有一个应该是SELECT每次都要把要监听的文件描述符传入内核,而且SELECT监听的事件类型有限。

删除str2中str1中出现的字母数字

说了个用数组哈希,说也行,就没问了,不知道还有啥办法

写个堆排序 写的不好。。

业务流程中间有多个流程并行,如何确保所有的流程全部完成进行下一步操作,并保证可扩展性?

用一个变量来标识完成的流程数量

如果哈希表里面某一个桶的size过大怎么办?不准rehash

红黑树。。。

2000万个key同时过期?redis是单线程的会不会直接无法服务?

说了下redis的淘汰策略 算是过关了

算法 手写sqrt 二分不好,最好用牛顿法

评论 (7)