回复: 4
跳转到指定楼层
上一主题 下一主题
收起左侧

Radix Trading电面跪经

全局:

2016(4-6月) 码农类General 博士 全职@Radix Trading - 猎头 - 技术电面  | | Fail | 在职跳槽

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
Radix Trading是一家很小的trading firm,猎头联系到我我就面了一下。

第一轮电面:一开始当然还是互相做自我介绍。问了两个题目,一个是reverse singly linked list,一个是implement shared_ptr
  1. template<class T>
  2. Class SharedPtr {
  3.    T* rawPtr;
  4.    int* refCount;
  5. public:
  6.    SharedPtr() {
  7.        rawPtr = NULL;
  8.        refCount = NULL;
  9.    }
  10.    SharedPtr(T* p) {
  11.        rawPtr = p;
  12.        refCount = new int(1);
  13.    }
  14.    SharedPtr(const SharedPtr& sp) {
  15.        rawPtr = sp.rawPtr;
  16.        refCount = sp.refCount;
  17.        (*refCount)++;
  18.    }
  19.    ~SharedPtr() {
  20.        (*refCount)--;
  21.        if((*refCount) == 0) {
  22.            delete refCount;
  23.            delete rawPtr;
  24.        }
  25.    }
  26.    T& operator=(const SharedPtr& sp) {
  27.        if (refCount != NULL) {
  28.            (*refCount)--;
  29.            if((*refCount) == 0) {
  30.                delete refCount;
  31.                delete rawPtr;
  32.            }
  33.        }
  34.        rawPtr = sp.rawPtr;
  35.        refCount = sp.refCount;
  36.        (*refCount)++;
  37.        return *this;
  38.    }
  39.    T& operator*() {return *rawPtr;}
  40.    T* operator->() {return rawPtr;}
  41. }
复制代码
当时写的code有两个小bug: 一是在destruct的时候如果refCount指针所指向的count的值是0那么应该destructrefCount,二是assignment operator应该尝试去首先判断原来的target
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
t face="Calibri">Angle
。最后是实现一个简单的malloc, free
  1. Given a global buffer:
  2. char memory[4096];

  3. Implement:
  4. void* rdx_malloc(int bytes);
  5. void rdx_free(void* p);
  6. That allocate from and return memory to that buffer.
复制代码
后来等了很久以后recruiter说我被拒了,feedback是……"Youanswered the questions, well and very fast. They would have liked you to a bitthrough with some of your answers covering all bases." - 不知道是什么鸟意思……

上一篇:Amazon 电面及Onsite
下一篇:Two Sigma一轮电面面经
🔗
 楼主| diyutianshi 2016-5-17 10:59:16 | 只看该作者
全局:
第二题的code不知道为啥没了……
  1. map<pair<int, int>> m;
  2. void* rdx_malloc(int bytes) {
  3. if (m.empty()) {
  4.    if (bytes > 4096) return NULL;
  5.    else {
  6.      m.insert(make_pair(0, bytes));
  7.      return (void*)memory;
  8.    }
  9. }
  10. else {
  11.    int start = 0;
  12.    for (auto p : m) {
  13.      if (p.first - start >= bytes) {
  14.        m.insert(make_pair(start, bytes));
  15.        return (void*) (memory + start);
  16.      }
  17.      start = p.first + p.second;
  18.    }
  19.    if (4096 - start >= bytes) {
  20.      m.insert(make_pair(start, bytes));
  21.      return (void*) (memory + start);
  22.    }
  23.    return NULL;
  24. }
  25. void rdx_free(void *p) {
  26. int offset = (char *)p - memory;
  27. map<int,int>::iterator it = m.find(offset);
  28. if (it != m.end()) {
  29.    m.erase(it);
  30. }
  31. }
复制代码
回复

使用道具 举报

🔗
menderr 2016-5-18 04:26:55 | 只看该作者
全局:
这回复啥意思啊,完全没明白
回复

使用道具 举报

🔗
leo817 2016-5-18 12:19:21 | 只看该作者
全局:
这语法有点难以捉摸啊 不过楼主move on吧 加油
回复

使用道具 举报

🔗
wudixiongxiong 2019-10-18 23:05:16 | 只看该作者
全局:
HR 是不是想说写code时候cover all cases, not bases? 估计楼主思路比较快,秒了面试题目,没讲一些test or corner case?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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