找回密码
 FreeOZ用户注册
查看: 2546|回复: 12
打印 上一主题 下一主题

[面试话题] developer电话面试教训

[复制链接]
跳转到指定楼层
1#
发表于 6-9-2007 13:30:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?FreeOZ用户注册

x
seek上申请了个C++ developer的职位,被电话面试,历时50分钟,问了些技术问题,被问到templates如何specialization时,突然发现尖括号英文不会说,小于大于的解释了半天,也不知对方听明白了没 ,键盘上这些符号的名字可得记牢!

   ~  tilde
   `  back quote or grave accent or back tic
   !  exclamation point or bang or pling
   @  at sign
   #  pound sign or hash sign or octothorp
   $  dollar sign
   %  percent sign
   ^  circumflex or caret
   &  ampersand or and sign
   *  asterisk, splat, or star
   (  left parenthesis
   )  right parenthesis
   -  dash or minus sign
   _  underscore or underline
   +  plus sign
   =  equal sign
   {  left curly bracket or left brace
   }  right curly bracket or right brace
   [  left square bracket
   ]  right square bracket
   |  vertical bar or pipe sign
   \  back slash
   :  colon
   ;  semi-colon
   "  quotation marks or double quotes
   '  apostrophe or single quote
   <  left angle bracket or less than sign
   >  right angle bracket or greater than sign
   ,  comma
   .  period or dot
   ?  question mark
   /  slash or forward slash

评分

参与人数 2威望 +20 收起 理由
hemmingway619 + 10 谢谢分享!
空明七心 + 10 谢谢分享!

查看全部评分

回复  

使用道具 举报

2#
发表于 6-9-2007 13:43:05 | 只看该作者
哇,还问到template怎么定制?

还有什么样的技术问题?
看了很多behavior类的问题,不知道这边技术的问题是什么样的
楼主能共享一下么?

多谢多谢!
回复  

使用道具 举报

3#
 楼主| 发表于 6-9-2007 13:52:36 | 只看该作者
感觉把C++ FAQ好好读一遍那些技术问题都能应付,考了mutable,explicit,我答得不好
回复  

使用道具 举报

4#
发表于 6-9-2007 14:30:04 | 只看该作者
faint,我也不知道什么mutable,explicit,hoho
回复  

使用道具 举报

5#
发表于 6-9-2007 14:32:18 | 只看该作者
LZ 对于templates如何specialization 这个问题理解存在错误.
回复  

使用道具 举报

6#
发表于 6-9-2007 14:39:59 | 只看该作者
LS能说说看吗?大家交流一下?
Specialization 不是指 Template <Class T> 这个东东?
回复  

使用道具 举报

7#
发表于 6-9-2007 15:00:25 | 只看该作者


Template 用于泛型编程, 一个template里面的函数可以用于所有的变量类型。而template Specialization 只在template里面,为特殊变量类型写的一个函数,这就是指Specialization .有时候一个泛型函数能够应用在int,float,string等等的类型操作上,但是如果对于用户自定义的类型就不能正确操作,这时候我们可以在template里面在重新重载一下这个函数,然后把具体的类型放在函数参数上,这就是所谓的template Specialization. 理解我的解释么?
回复  

使用道具 举报

8#
 楼主| 发表于 6-9-2007 15:04:24 | 只看该作者
template<class T> class Array;
Array<int>   ai; // <-- Specialization

我的理解大概是这么回事,test001 能解释一下吗?
回复  

使用道具 举报

9#
发表于 6-9-2007 15:10:53 | 只看该作者
原帖由 ubuntu 于 6-9-2007 14:04 发表
template class Array;
Array   ai; //  


你的理解是错误得, 我先倒杯水,回来给你讲
回复  

使用道具 举报

10#
发表于 6-9-2007 15:22:24 | 只看该作者
原帖由 ubuntu 于 6-9-2007 14:04 发表
template class Array;
Array   ai; //  



template<class T> class Array;   
Array<int>   ai; // <-- I can only say this is instantiation

找来一个例子,


template <typename T>
class vector
{
    // accessor functions and so forth
    private:
    T* vec_data;   // we'll store the data as block of dynamically allocated
                   // memory
    int length;    // number of elements used
    int vec_size;  // actual size of vec_data
};

如果T 是bool 类型,上面的例子变成
template <typename T>
class vector
{
    // accessor functions and so forth
    private:
    bool* vec_data;   // we'll store the data as block of dynamically allocated  memory
    int length;    // number of elements used
    int vec_size;  // actual size of vec_data
};
所以这个变成就存在问题, 我们一般写成
unsigned int *vector_data;  来代替bool数值的存储
所以就需要specialiase 这个template

template <>
class vector <bool>
{
    // interface

    private:
    unsigned int *vector_data;
    int length;
    int size;
};

评分

参与人数 1威望 +20 收起 理由
ubuntu + 20 高手!

查看全部评分

回复  

使用道具 举报

11#
 楼主| 发表于 6-9-2007 15:23:14 | 只看该作者
嘿嘿,上课了
回复  

使用道具 举报

12#
 楼主| 发表于 6-9-2007 15:42:10 | 只看该作者
回复  

使用道具 举报

13#
发表于 6-9-2007 15:43:44 | 只看该作者


没错就是我刚才现找然后解释代码给你的网址
回复  

使用道具 举报

您需要登录后才可以回帖 登录 | FreeOZ用户注册

本版积分规则

小黑屋|手机版|Archiver|FreeOZ论坛

GMT+11, 20-10-2026 10:46 , Processed in 0.046314 second(s), 33 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表