由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问几个unix/c++工作面试题
相关主题
(回忆了几道题)有人做过 select2perfrom 的test吗 ?最新微软SDE II面试题
几个最近的面试题微软面试题
[面试题]unix如何<<一行>>命令给一个文本文件末尾加几个字符一道onsite面试题
问个C++ ctor的问题一个小的string面试题
C++问题3这个算法面试题没有做出来,刷了那么久的题,面试死在这题上了ZT
问个C的基本问题请教一道面试题
Java developer都习惯初始化数组赋值0或者false吗?请教一个常见的面试题的答案
两个programming pearls的习题请教报google offer,并分享找工作经验
相关话题的讨论汇总
话题: ctor话题: array话题: 初始化话题: 赋值话题: 如何
进入JobHunting版参与讨论
1 (共1页)
t**g
发帖数: 1164
1
1.假如有millions个objs,new的话效率太慢,如何快速分配内存和初始化
2.有没有比memset更高效的办法赋值
3.用array的话,如何对这million个obj调用带参数的ctor
我用A a[100]={A(b)}他说错了
事后我猜use vector instead (which allow customized ctor calling), and then
transfer it to array?
4.linux下如何查找程序某个process详细信息
我回答ps和top,他说不对
谢谢!
d**a
发帖数: 84
2

这个自己管理内存吧。搞个pool然后override new /delete
如果一定需要改变那段mem的值,我脚着是不是dma一段比用一个个指令去改快些。当然
这个前提得dma src得有这需要的初始值。
另一个方向就是利用特殊的指令,可以对一段内存进行快速赋值/复制。我记得x86有这
个指令。我觉得memset的实现会用这些指令的。
要看这个array如何声明的。如果是动态的,可以用placement new,先分配内存,然后
在初始化。这样初始化就可以控制,一般可用stl 里的uninitialized_fill来调用一个
copy ctor。
如果是静态数组,除了列出初始值外,不知道有啥别的办法。
他说你不对,我觉得故意找茬。好的itnerviewer至少会说不全吧,然后问有没有办法
看到更多的东西。
我觉得可以看/proc/里的东西,这里啥都用,想要啥就有啥。

【在 t**g 的大作中提到】
: 1.假如有millions个objs,new的话效率太慢,如何快速分配内存和初始化
: 2.有没有比memset更高效的办法赋值
: 3.用array的话,如何对这million个obj调用带参数的ctor
: 我用A a[100]={A(b)}他说错了
: 事后我猜use vector instead (which allow customized ctor calling), and then
: transfer it to array?
: 4.linux下如何查找程序某个process详细信息
: 我回答ps和top,他说不对
: 谢谢!

t**g
发帖数: 1164
3
thx!

【在 d**a 的大作中提到】
:
: 这个自己管理内存吧。搞个pool然后override new /delete
: 如果一定需要改变那段mem的值,我脚着是不是dma一段比用一个个指令去改快些。当然
: 这个前提得dma src得有这需要的初始值。
: 另一个方向就是利用特殊的指令,可以对一段内存进行快速赋值/复制。我记得x86有这
: 个指令。我觉得memset的实现会用这些指令的。
: 要看这个array如何声明的。如果是动态的,可以用placement new,先分配内存,然后
: 在初始化。这样初始化就可以控制,一般可用stl 里的uninitialized_fill来调用一个
: copy ctor。
: 如果是静态数组,除了列出初始值外,不知道有啥别的办法。

s*****i
发帖数: 355
4
最后一个,ps -L

【在 d**a 的大作中提到】
:
: 这个自己管理内存吧。搞个pool然后override new /delete
: 如果一定需要改变那段mem的值,我脚着是不是dma一段比用一个个指令去改快些。当然
: 这个前提得dma src得有这需要的初始值。
: 另一个方向就是利用特殊的指令,可以对一段内存进行快速赋值/复制。我记得x86有这
: 个指令。我觉得memset的实现会用这些指令的。
: 要看这个array如何声明的。如果是动态的,可以用placement new,先分配内存,然后
: 在初始化。这样初始化就可以控制,一般可用stl 里的uninitialized_fill来调用一个
: copy ctor。
: 如果是静态数组,除了列出初始值外,不知道有啥别的办法。

P**********0
发帖数: 412
5
1. 用memory pool 吧。
w**********8
发帖数: 121
6
super. I agree with you.

【在 d**a 的大作中提到】
:
: 这个自己管理内存吧。搞个pool然后override new /delete
: 如果一定需要改变那段mem的值,我脚着是不是dma一段比用一个个指令去改快些。当然
: 这个前提得dma src得有这需要的初始值。
: 另一个方向就是利用特殊的指令,可以对一段内存进行快速赋值/复制。我记得x86有这
: 个指令。我觉得memset的实现会用这些指令的。
: 要看这个array如何声明的。如果是动态的,可以用placement new,先分配内存,然后
: 在初始化。这样初始化就可以控制,一般可用stl 里的uninitialized_fill来调用一个
: copy ctor。
: 如果是静态数组,除了列出初始值外,不知道有啥别的办法。

l*y
发帖数: 21010
7
第二个,有一种快速给数组赋值的算法,速度比线性快,回头我有时间帮你找个链接

【在 t**g 的大作中提到】
: 1.假如有millions个objs,new的话效率太慢,如何快速分配内存和初始化
: 2.有没有比memset更高效的办法赋值
: 3.用array的话,如何对这million个obj调用带参数的ctor
: 我用A a[100]={A(b)}他说错了
: 事后我猜use vector instead (which allow customized ctor calling), and then
: transfer it to array?
: 4.linux下如何查找程序某个process详细信息
: 我回答ps和top,他说不对
: 谢谢!

x***y
发帖数: 633
8
what's the algorithm's name? thanks a lot...

【在 l*y 的大作中提到】
: 第二个,有一种快速给数组赋值的算法,速度比线性快,回头我有时间帮你找个链接
l*y
发帖数: 21010
9
找到了
http://eli.thegreenplace.net/2008/08/23/initializing-an-array-in-constant-time/
constant time

【在 x***y 的大作中提到】
: what's the algorithm's name? thanks a lot...
k***e
发帖数: 556
10
that seems the same to the method mentioned in "programming pearls" 1st
chapt

【在 l*y 的大作中提到】
: 找到了
: http://eli.thegreenplace.net/2008/08/23/initializing-an-array-in-constant-time/
: constant time

l*y
发帖数: 21010
11
可能是,我没看过。。

【在 k***e 的大作中提到】
: that seems the same to the method mentioned in "programming pearls" 1st
: chapt

d**a
发帖数: 84
12
这个就是那个pearls上的办法。
这个得问清楚interviewer,是不是要确实把那段内存的值改变,
或者只要达到类似的效果就行。

【在 l*y 的大作中提到】
: 可能是,我没看过。。
1 (共1页)
进入JobHunting版参与讨论
相关主题
报google offer,并分享找工作经验C++问题3
一道很简单的面试题,但是不知道哪个算法好问个C的基本问题
询问一个google software engineer面试的问题Java developer都习惯初始化数组赋值0或者false吗?
求一本面试书 algorithms for interviews两个programming pearls的习题请教
(回忆了几道题)有人做过 select2perfrom 的test吗 ?最新微软SDE II面试题
几个最近的面试题微软面试题
[面试题]unix如何<<一行>>命令给一个文本文件末尾加几个字符一道onsite面试题
问个C++ ctor的问题一个小的string面试题
相关话题的讨论汇总
话题: ctor话题: array话题: 初始化话题: 赋值话题: 如何