V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
justou
V2EX  ›  程序员

新同事的考核, 一题也不会

  •  1
     
  •   justou · 2019-07-18 13:22:16 +08:00 · 20498 次点击
    这是一个创建于 1989 天前的主题,其中的信息可能已经有所发展或是发生改变。

    因为要离开现公司, 两个月前招到一个来接替我的小伙子, 此子只用过 C, 做了半年嵌入式, 我对他进行了两个月的 C++培训, 带着他看 C++ primer 这本书(这本书既厚又杂,想着有我帮着梳理的话亦可事半功倍, 感觉这本书不太好, 但是又没找到可替代的又是中文版的 C++入门书), 让他完成一些编程任务, 帮他 debug 并解惑, 更多的是解释原理: 为什么是这样的.

    现在到考核期了, 公司要求用英文出题考核他, 题如下:

    C++ Questions

    Single Choice

    (3 points each, 15 points total)

    1. Which one of the following C++ codes is correct C++11 expression?

      • [ ] A. const int i{3.14};
      • [ ] B. int & i = 233;
      • [ ] C. const int& i{3.14};
      • [ ] D. constexpr double pi{3.14};
    2. which one of the following is valid lambda expression usage?

      • [ ] A.

        int i = 10;
        auto f = [](){ return i+1;};
        f();
        
      • [ ] B.

        int i = 10;
        auto f = [](int i){ return i+1;};
        f();
        
      • [ ] C.

        int i = 10;
        auto f = []{ return i+1;};
        f();
        
      • [ ] D.

        int i = 10;
        auto f = [i]{ return i+1;};
        f();
        
    3. What does public inheritance mean?

      • [ ] A. Implementation details
      • [ ] B. Private interfaces
      • [ ] C. Composition
      • [ ] D. Is-a relationship
    4. What does private inheritance mean?

      • [ ] A. Implementation details

      • [ ] B. Private interfaces

      • [ ] C. Composition

      • [ ] D. Is-a relationship

    5. Suppose we have two classes(both with default constructors): class Base{...};, class Derived: public Base {...};, which one of the following usage is correct?

      • [ ] A. Derived* d = new Base;
      • [ ] B. Derived* d = new Base{};
      • [ ] C. std::unique_ptr<Base> ptr = std::make_unique<Derived>();
      • [ ] D. std::unique_ptr<Derived> ptr = std::unique_ptr<Derived>(new Base);

    Answer the following questions

    (5 points each, 25 points total)

    1. Use range for syntax to add 10 to each elements of the following vector:

      auto numbers = std::vector<int>{1, 2, 3, 4, 5};

      
      
    2. Use std::for_each to answer the previous question.

      
      
    3. Suppose Buffer* create_buffer() is some library function to allocate resources, and bool release_buffer(Buffer* buffer) is the counterpart to free the allocated resources, use std::unique_ptr to manage the resources.(hint: when the std::unique_ptr object is out of scope, the allocated resources are automatically released.)

      
      
    4. Suppose class Object must have a copy constructor, a copy assign operator, a move constructor, a move assign operator and a destructor, write down their signatures .

      
      
    5. RAII is a key C++ programming technique, write down your understanding of RAII (not the literal meaning)

      
      

    我参考当初他问过的问题以及给他的解答出的, 当然考核只是个形式, 所以我直接把题给他先看看, 让他先尝试着做, 结果一题不会! 苦口婆心两个月 == 0.

    有一些想法:

    1. 想 21 天精通 C++, 得参考某张漫画里面来, 一时找不到图了, 就是最后发明时光机穿越回到学 C++第 21 天, 然后捅死自己那张漫画;
    2. 新同事学习方法很有问题, 每次我跟他讲一些原理的时候让他记一下, 他说这个很显然啊, 没必要记, 然后下次问他相同问题, 对方回答无非是"搞忘了", "你跟我讲过这个吗?" ,根本带不动!
    3. 不梳理知识, 只在书里面随便勾勾画画, 当然这本书等于没看;
    4. 题可能出得太难了, 不适合 C++初学者, 但是平时这些主题讲得特别多, 现在看来对方的"嗯嗯, 理解了"明显是在敷衍我了, 其实那根本是在敷衍自己;
    5. 英文太差, 其实一开始题都没读懂, 我一个个地解释了一遍, 还是不会做;
    6. 搜索引擎对他来讲是摆设.
    7. 人不笨, 但是思维方式已经出现严重问题了, 想甩锅给他之前受过的应试教育. 平时给他讲了很多学习方法跟思考方式, 估计也早成耳边风了.

    考核肯定是过不了的了, 最后估计会留在公司打杂, 因为最近又招了个新的人, 还没来报道, 看简历是个硕士, 虽然没写过 C++, 但会 python 跟 java, 在学校也搞过正儿八经的研究. 这个带起来应该能很快起飞, 但已经等不到了, 今天是在该公司的最后一天, 只能祝福着这位"带不动同事", 平静地离开了.

    第 1 条附言  ·  2019-07-18 17:22:58 +08:00

    单选

    1. D

      考察对C++11 Uniform Initialization的理解

      AC都是相同错误, 花括号初始化不允许有精度丢失的隐式转换, AC都将编译出错; 坚持使用花括号初始化变量, 一定程度上能避免隐式转换带来的bug, Explicit is better than implicit! B是C的干扰项, 同事很爽快的选中了C, 因为他确定不能像B这么干

    2. D

      C++ 的lambda着重给同事讲过, 告诉他原理可以看成是生成了一个只有编译器知道的匿名的可调用类(实现了operator() ), 捕获列表[]里有东西的话相当于这个类有字段, 捕获方式则决定了这些字段是如何初始化的, lambda的参数列表相当于operator()的参数列表. 把这些对应关系搞清楚了就不用去死记硬背lambda有几种写法了. A的return i + 1i未定义, B的f调用需要参数, C是A的干扰项, 同事觉得C肯定不对, 连括号()都没得, 选A! 公司Qt项目中大量使用lambda作为槽函数.

    3. D

      公有继承表示的是“is-a”的关系, class Dog: public Animal ..., DogAnimal

    4. A

      私有继承 class Television: private Radio, 电视机不是收音机, 只是想用收音机里面的一些现成的可用的功能, 电视机并不想让别人知道它借用了收音机的东西, 所以用私有继承, 是一种实现细节. 其实这是一种不太好的方式, 到处搜刮现成的实现来强行塞进来, 屎山不是一日建成的; 其实当想用C++的继承时就得三思是否可以构建一个健壮的继承层次, 设计的时候多考虑组合或者继承接口, 给同事讲解一个项目中某个地方为啥要用继承来实现时区分的两种继承方式, 他依稀记得是说过, 但是忘记了, 更糟糕的是他根本不认识里面的任何关键字单词...

    5. C

      通过基类指针来操纵子类实例啦. 同事一眼选中A, 他觉得B选项Base后面怎么能有个花括号, CD这么长, 先排除了

    其实通过跟他对每个选项的讨论, 我知道他只是想挑出正确答案, 并不是想搞清楚不对的选项为什么不对, 他的关注点完全不在考察点, 不理解这道题的意图, 当然很容易踩中故意设计的陷阱, 他也没辜负我出题时的坏心思, 所有陷阱全踩了

    问答参考(有些答案不止一种,满足要求即可)

    1.  for (auto& number: numbers){
       	number += 10;
       }
      
    2.  std::for_each(numbers.begin(), numbers.end(), 
                     [](int &number){ number += 10;});
      
    3.  auto ptr = std::unique_ptr<Buffer, decltype(&release_buffer)>(
                  create_buffer(), release_buffer);
      
    4.  class Object{
       	Object(const Object& obj); // copy constructor
           Object& operator= (const Object& rhs); // copy assign operator
           Object(Object&& object);   // move constructor
           Object& operator= (Object&& rhs); // move assign operator
           ~Object();  // destructor
       };
      
    5. RAII的思想为: 在构造器中获取资源, 建立类的不变量(invariant), 在析构器中释放获取过的资源; 通过使用局部变量这种方式来管理资源, 当局部变量出作用域时, 获取的资源将被变量的析构函数自动释放

    题跟答案都是根据自己的理解编造的, 欢迎提出不同的观点

    第 2 条附言  ·  2019-07-19 13:59:34 +08:00

    统一回复下"求带, 求指导"朋友:

    1. 本人随时处在繁重的学习当中, 几乎是没时间的, 通过网络指导的话效率也太低了, 彼此的时间不应该这样浪费;

    2. 学编程的话没有太多诀窍, 多看多练多写多想, 我觉得最忌讳的是去死记硬背(但你通常可以通过思维导图来整理一些重要细节帮助理解记忆);

    3. 多问"为什么", 知识是客观存在的, 乃死物, 多问问它的来龙去脉, 怎么来的, 为什么要这样, 这样有什么好处, 如此这般才能接触到事物的真相和本质. 举个不太恰当的例子: 2019年7月19号早上你发现你家门口有一只陌生的猫, 如果只停留在表象"哇, 今早我家门口有只猫", 这件事可能你很快就忘了, 忘记了是哪天, 忘记了这只猫的颜色, 甚至忘记了在家门口见到一只猫的事情...如果多提出一些疑问: 这只猫哪来的? 什么品种? 公的母的? 猫主人是谁? 你甚至好奇的尾随它到了另一户人家门口, 发现猫的主人是个漂亮的姑娘, 以此发生了一段美妙的邂逅...之后你回忆起来, 这些场景历历在目, 如数家珍地跟自己的孩子讲述着你跟孩子他妈邂逅的过程...

    其实学知识很大程度上是在学历史, 这些知识不是平白无故出现的, 是为了解决具体问题而提出来的, 是从生活实践中抽象出来的, 所以很有必要了解其背景, 这样才能在运用知识上得心应手, 因为你清楚它的应用场景, 适用条件. 以C++来举例, C++一直在发展, 不断提出新标准, 新语法, 不断扩充的标准库, C++越来越臃肿遭人诟病, 太多的语法糖, 越来越难使用. 其实这个时候换一个角度看问题就好了: 为什么提出这个新语法? 出发点是什么? 解决了以前的什么痛点?为什么这样更好? 这可能需要你去关注标准委员会的动向, 他们的讨论, 他们的决策, 当然你也可以通过一些书籍文章了解到这些东西. 虽然可能不会去用新特性, 但是可以学到一些解决问题的思路, 一些设计理念. 也千万不要强行用上新特性(出于了解学习目的是可以的), 不能为赋新词强说愁, 个人认为使用新特性最好的时机是发现某个新特性正好解决了你的一些痛点.

    这第3点是自己这些年来自学的一些心得. 我是物理学出生, 但是专业学得稀烂, 很大程度上是因为接受不了那些突兀的, 毫无生机的, 压缩饼干似的知识. 以前学校的老师只是负责把这些东西分发给你充饥, 很显然我不屑于吃, 最后是饿死的. 后来, 尤其是工作这两年, 重新审视物理跟数学, 发现他们其实是一部超级燃的历史小说, 每个重大的理论定理后面都有一段脍炙人口的故事, 难怪以前有些老师让我们多看课外书, 扩充知识面, 我想他们说的课外书, 就是这些"历史书"吧, 当初一直错误地认为是"xxx题典", 这些方法论的花招式更多时候只有打发时间之用, 更重要的是知识的起源, 从历史的角度, 从认识论的角度来探讨知识, 这样才能真正修炼成自己的内功.

    1. 还是让自己可以流畅的读英文吧, 我对带的同事提升英语阅读的建议是: 你不是比较熟悉C嘛, 找一本C语言的英文的书, 从头开始看, 里面讲的东西你都比较熟悉了, 所以侧重点就在于看英语是怎么表达的, 学习专业词汇, 咬文嚼字地看, 坚持看完这样一本, 你以后就无所畏惧了. 一言蔽之: 找一本你熟悉的感兴趣的主题的英语书看完.

    2. 最后推荐一些个人喜欢的站点, 对C++或编程应该很有用.

    接下来几天忙于搬家, 没时间长篇大论的回复了, 你们饭后茶余看看就好, 祝大家快乐学习, 开心工作!

    173 条回复    2019-07-19 18:28:29 +08:00
    1  2  
    opengps
        101
    opengps  
       2019-07-18 17:36:22 +08:00
    手动翻页,他可能是来收费求学的
    unco020511
        102
    unco020511  
       2019-07-18 17:38:23 +08:00   ❤️ 1
    楼主简直中国好员工
    justou
        103
    justou  
    OP
       2019-07-18 17:40:29 +08:00
    @neroxps 是的, 上面也有人给了, 还是英文原版的
    @shfanzie 之后我给同事安利下, 希望他也能重视起英语
    wutiantong
        104
    wutiantong  
       2019-07-18 17:40:40 +08:00   ❤️ 1
    @justou 我也是一个人写的,从今年开始已经用的全是 C++17。。。
    doing1
        105
    doing1  
       2019-07-18 17:43:41 +08:00
    哇哦,牛哇,大神,膜拜中
    crc8
        106
    crc8  
       2019-07-18 17:50:00 +08:00
    中国好同事啊,楼主你带我飞吧。
    shfanzie
        107
    shfanzie  
       2019-07-18 17:51:52 +08:00
    虽然写了几年 C++了,lz 出的题也有些答不出来,要系统的补习下基础知识了,向 lz 学习。
    tyrantZhao
        108
    tyrantZhao  
       2019-07-18 17:51:54 +08:00
    楼主真的好人啊,但话说招 cpp 这么水吗,这不都是基础吗。。。。
    yuankui
        109
    yuankui  
       2019-07-18 18:02:08 +08:00
    我操,C++有 lambda 了?
    blackmirror
        110
    blackmirror  
       2019-07-18 18:15:14 +08:00
    不论怎样,这付出什么尊敬
    shm7
        111
    shm7  
       2019-07-18 18:48:54 +08:00 via iPhone
    看看操作天河二号的程序员啥样子的:)
    DragonQuestMaou
        112
    DragonQuestMaou  
       2019-07-18 19:08:24 +08:00
    @yuankui ????你也网上冲浪啊
    DragonQuestMaou
        113
    DragonQuestMaou  
       2019-07-18 19:08:39 +08:00
    @yuankui ????你也网上冲浪啊哈哈哈
    DragonQuestMaou
        114
    DragonQuestMaou  
       2019-07-18 19:10:17 +08:00
    @yuankui 不好意思抽风连续回复了 2 次
    11 就有了
    14 还做了一些改版 比如允许 auto
    DragonQuestMaou
        115
    DragonQuestMaou  
       2019-07-18 19:16:04 +08:00
    看了下不是很难
    至少没把模板和右值引用这种东西搬出来为了出题而出题
    我也觉得语言特性不重要 生态环境要重要一些
    Raisu
        116
    Raisu  
       2019-07-18 19:24:17 +08:00
    楼主的内容格式很好看,只是普通的 Markdown 吗
    psj1105
        117
    psj1105  
       2019-07-18 19:47:21 +08:00
    楼主态度真好
    a566
        118
    a566  
       2019-07-18 19:51:33 +08:00
    @justou 楼主干嘛不来北京,我想请你喝茶,顺便拜师
    iceheart
        119
    iceheart  
       2019-07-18 21:00:46 +08:00 via Android
    lambda 只是个形式,捕获参数可以为 0 个
    参考 https://zh.cppreference.com/w/cpp/language/lambda
    nvioue
        120
    nvioue  
       2019-07-18 21:28:24 +08:00
    我觉得吧 能改 bug 能做 feature 能编译部署 就行了 这些语法糖不是特别重要吧
    有兴趣的可以自己深入. 强迫别人就不太好了
    nmgwddj
        121
    nmgwddj  
       2019-07-18 21:37:12 +08:00
    学习了,尤其是第三题那个私有继承的解释。如果有一些编程经验,21 天精通 C++03 我认为是可能的(前 10 天 C,后面 15 天 C++,剩下 5 天例子),C++0x 就算了。但前提是你要有个好老师。
    stevexu
        122
    stevexu  
       2019-07-18 23:44:17 +08:00
    楼主威武
    20015jjw
        123
    20015jjw  
       2019-07-19 00:07:08 +08:00 via Android
    这个题目里很多语法错误..
    justou
        124
    justou  
    OP
       2019-07-19 01:03:02 +08:00 via Android
    @Raisu 嗯, 普通的 markdown, 发现这里并不支持任务列表的语法 - [ ]

    @a566 北京鸭梨大, 而且担心空气质量, 有鼻炎, 想换个环境稍微好点的城市, wife 也想去深圳广州

    @nvioue 唔嗯...怎么讲呢, 其实没啥语法糖呀, 都是现代 C++里最常见的东西了

    @20015jjw 语法错误是不少, 错误选项里面, 就是为了考察基础知识掌握情况
    Mirana
        125
    Mirana  
       2019-07-19 01:06:06 +08:00
    这种题太无聊了
    Actrace
        126
    Actrace  
       2019-07-19 01:28:53 +08:00
    歪个楼,读万卷书不如行万里路。
    如果没有项目去做,学东西基本都是很低效的。
    Actrace
        127
    Actrace  
       2019-07-19 01:30:38 +08:00
    现在很多编程语言都喜欢大量语法糖,我觉得其实有点本末倒置了。
    好用的东西本身应该是简单的,语法糖太多反而会导致消化不良。
    20015jjw
        128
    20015jjw  
       2019-07-19 02:53:48 +08:00 via Android
    @justou 我说的是英语语法..
    yuikns
        129
    yuikns  
       2019-07-19 03:33:02 +08:00
    其实题目还好。不过我盲猜楼主教一个有些 C 经验的人过多的理论知识,以至于对方眼中是
    熟悉的熟悉的熟悉的啥熟悉的熟悉的熟悉的熟悉的熟悉的
    这种状态。
    该了解的被隐藏在很多熟悉的细节中。感觉这并不是很好的方法。
    另外,强行 ==0 我觉得人家可能也是不太服气的,至少现在写出 0 bug 大师那种代码应该还是可以的吧。

    当年我学 Scala 也是这状态,看了大半个月的 Scala 感觉晕乎乎的,感觉不能这么玩了,于是重新扫一遍目录 index 一下入口,然后直接自己想了点需求实现了几个玩具。貌似当时是给我的 alfred 写的自用功能,各种炫技想办法让自己看到的东西都实现一下。一周多感觉脑子就比较清楚了,再理理思路一两天重新看一遍书,直接上马工程。
    la1850
        130
    la1850  
       2019-07-19 04:40:09 +08:00 via Android
    没学过 c++,选择题都猜对 4 题,有编程基础学个 21 天做个 30 分问题应该不大吧。
    maple
        131
    maple  
       2019-07-19 04:44:12 +08:00
    楼主带我吧 可能更有成就感一些 英语完全没有问题 学过 python Java,人生第一次接触 c++是上 python 前老师给了 c++的入门测试题过了。然而完全不懂~
    lovestudykid
        132
    lovestudykid  
       2019-07-19 05:15:07 +08:00
    什么都不会也可以找工作吗,还老员工手把手教,求这么好的工作。
    Poko
        133
    Poko  
       2019-07-19 06:56:11 +08:00 via iPhone
    楼主好人,带带我吧
    lisicong
        134
    lisicong  
       2019-07-19 07:33:23 +08:00 via Android
    什么公司?在哪里?楼主来招我进去啊,两个月时间,绝对给你一个船新的体验😀
    lawse
        135
    lawse  
       2019-07-19 07:35:59 +08:00
    现在可以回复了吗
    keymao
        136
    keymao  
       2019-07-19 08:25:45 +08:00
    cpp 就这样能找个人过来坐着学都挺难得。。。
    gaoan000
        137
    gaoan000  
       2019-07-19 08:42:37 +08:00 via Android
    最怕的就是普通人得了聪明人的懒病
    justou
        138
    justou  
    OP
       2019-07-19 09:05:35 +08:00
    @20015jjw 嘿嘿, 我平时看英语比较多, 听说写都比较鸡肋, 估计有些 chinglish, 烦请指正一下;

    @yuikns 其实出现这种结果后我也在反思, 一开始定的要求太高了, 招进来, 要两个月内带他熟悉 C++, 熟练使用 opencv, 熟练 Qt...当时一听我也是一时语噻, 最后说了句: 给两年时间也许能行. 现在他也算有个 C++入门了, 各方面的东西都了解了一下, 以后多写多看就行了
    weichengwu
        139
    weichengwu  
       2019-07-19 09:15:25 +08:00
    歪个楼,V 站居然不支持 markdown 的 `- [ ]` 语法
    pb941129
        140
    pb941129  
       2019-07-19 09:16:47 +08:00
    收藏了收藏了
    justou
        141
    justou  
    OP
       2019-07-19 09:35:30 +08:00
    @Actrace 是以完成编程任务为导向来的, 当初制定的路线大概是这样的:
    1. 写一个程序来统计这个程序的词频 (其实就是任意文本文件的词频), 限定在 ascii 里面;
    2. 制作静态库, 将上面的函数作为库函数;
    3. 写一个类来实现相同的功能, 使用上面那个库, 增加了一些接口, 比如可以查询 top n;
    4. 制作动态库, 重新设计接口, 使其能在 C 中调用;
    5. 还是统计词频, 不过目标是指定路径下所有指定后缀的文件;
    6. 用多线程来完成 5, 一个线程读文件, 多个线程统计, 最后合并结果
    7. 强行用 Qt 加个界面吧

    虽是为了深入学习故意设置的牵强任务, 但每个任务都可以辐射出大量专题, 两个月这个路线他只走到 3, 要完成后面的需要学的东西太多了, 但感觉他只是为了完成任务, 并没有在涉及到的专题上深究, 这与我的初衷完全背道而驰了╥﹏╥
    raysonlu
        142
    raysonlu  
       2019-07-19 09:36:47 +08:00
    所以你为什么还离职
    justou
        143
    justou  
    OP
       2019-07-19 09:38:44 +08:00
    @raysonlu 去更合适自己发展的地方
    sinopec
        144
    sinopec  
       2019-07-19 09:52:49 +08:00
    虽然一直都是 C++主语言,楼主的题也不难,但是还是要说 C++真 tmd 的事儿多,早日脱坑早日爽。
    belin520
        145
    belin520  
       2019-07-19 09:54:52 +08:00
    @Actrace #126 都行了差不多 5000 里的路了,起码还是要补一下 3000 卷的书吧?
    wuweijia
        146
    wuweijia  
       2019-07-19 10:16:20 +08:00
    一看就会,一问就跪系列
    564425833
        147
    564425833  
       2019-07-19 10:16:20 +08:00
    楼主真的好,我要是能一入职遇到这样的师傅,真是做梦笑醒。
    nealwx
        148
    nealwx  
       2019-07-19 10:28:52 +08:00 via Android
    我跟你讲,我用 return strdup 但不去 free 的,写的代码各种内存泄漏。
    nealwx
        149
    nealwx  
       2019-07-19 10:29:17 +08:00 via Android
    @nealwx 我用->我遇到过
    947211232
        150
    947211232  
       2019-07-19 10:34:53 +08:00
    楼主,记得你女装,但还想看你女装
    icefrogisgreat
        151
    icefrogisgreat  
       2019-07-19 10:36:11 +08:00
    那个新人可能过段时间会发现他曾今遇到过天使,可是他没发现
    justou
        152
    justou  
    OP
       2019-07-19 10:39:42 +08:00
    @947211232 黑历史别提了, 至今不敢问综合部的要视频来看
    Actrace
        153
    Actrace  
       2019-07-19 10:49:49 +08:00
    @justou 不知道你有没有发现,其实很多项目做到最后用的东西,频率最高的那些部分,其实只用到了编程语言的一部分,大部分都是没用的。
    wildlynx
        154
    wildlynx  
       2019-07-19 10:53:15 +08:00 via iPhone
    楼主公司是做什么的,很少看到用 Qt 开发的大公司了。金山算一个
    dbpe
        155
    dbpe  
       2019-07-19 10:56:53 +08:00
    求大佬的学习的方式。。。我是一个笨鸟。。。常常。。先飞了。。但是不行。。我也觉得是我学习方法有问题。。但是却又不知道在哪里
    lzynb
        156
    lzynb  
       2019-07-19 10:57:27 +08:00
    楼主好人,但对一个新人来说确实有点难度
    justou
        157
    justou  
    OP
       2019-07-19 11:23:31 +08:00
    @Actrace 虽然单个项目用到的东西可能比较集中, 尤其是一些为了解决具体问题的项目, 如果设计的问题比较广, 用到的东西就比较广了, 其实从我开始编程以来, 用到最多的东西就几个方面: 数值计算的工具, 画图工具, 图像处理工具, 界面工具, 文件管理


    @wildlynx 前面我放了个公司链接, 小公司, 这个 Qt 项目在我之前的同事用的 MFC 写的, 写得超级乱, 可维护性≈0, 全局变量一串一串的, 运行效率超低, 各种跑丢数据, 他自己改程序都改得吐(是真的吐了, 程序要在车上调试, 跑起来调), 我接手后他说: 你用 Qt 重新写一个吧!(啊, 说到我心里去了), 理清需求后就用 Qt 重写了. 其实他并不擅长写程序, 能写出来真是难为他了.
    guoyuchuan
        158
    guoyuchuan  
       2019-07-19 12:04:26 +08:00
    原来大佬是重庆的
    guoyuchuan
        159
    guoyuchuan  
       2019-07-19 12:04:45 +08:00
    公司链接进不去
    ninjachen
        160
    ninjachen  
       2019-07-19 12:23:18 +08:00
    居然还有答案,楼主好人
    shawndev
        161
    shawndev  
       2019-07-19 12:29:18 +08:00
    挺好的题,没做过 C 艹,看五道选择题。3、4 是我接触过的语言里没有的概念所以没做,其他三个居然都做对了。
    第一题,直觉,constexpr 大概类似于 static inline 或者宏?
    第二题,直觉,中括号是当前作用域的变量捕获,小括号是 lambda 的形参?
    第五题,父类对象引用可以指向子类的指针?
    deadseven
        162
    deadseven  
       2019-07-19 13:05:29 +08:00
    楼主 tm 真是个好人,牛逼,平常人谁会这么有耐心啊,我就学不会 C++,哈哈
    dajiaozi
        163
    dajiaozi  
       2019-07-19 13:09:09 +08:00
    楼主中国好同事啊
    AmberJiang
        164
    AmberJiang  
       2019-07-19 13:40:39 +08:00
    楼主真的是中国好员工 有机会来成都带我吧 我英文还行 学过 python、h5、css、JavaScript 很菜 但是很喜欢编程😁
    HGladIator
        165
    HGladIator  
       2019-07-19 14:18:33 +08:00
    想当年要是遇到楼主的话 我现在也不止是这个样子了,当初第一家公司的状态和那小子完全一样,只会 C,做过嵌入式,却没有那小子的运气,
    入职自己啃 C++ primer,一个月时间吧 勉强看完了 还是很多都不懂,所有学习全靠自己 主要还是多动脑 多动手,
    还自己写了个计算器和 Windows 自带的简易版功能一样。
    问领导问同事问题从来得到的回复都是你自己要学会解决问题,
    我就想着我查半天才能找到答案,还不是你一句话的问题,或者给我说说方向我能查的快点儿也好啊,

    现在想想真的遇人不淑,真的都是命。
    dongisking
        166
    dongisking  
       2019-07-19 14:26:33 +08:00
    LZ 态度真好,要是我有这一半态度早就上天了
    justou
        167
    justou  
    OP
       2019-07-19 14:31:16 +08:00
    @HGladIator 其实都是这样折腾过来的, 我也没人带, 全靠自学, 不懂就上网搜, 在摸爬滚打的过程中壮实起来, 只不过这个过程我放在学校中完成了, 所以正式工作了很快能自己上手. 有过那种经历才知道刚起步时的弱小孤独与无助, 所以如果生活中遇到像我以前那样的人, 我肯定会毫不犹豫地拉他一把.
    HGladIator
        168
    HGladIator  
       2019-07-19 14:48:00 +08:00
    想知道大佬怎么快速学习的,我感觉自己的学习方法有问题,希望大佬能总结一下学习的方法论,然后怎么执行到位的。我总是没有一个很好的方法去前行,一直都是摸着走的,弯路走的太多了。
    justou
        169
    justou  
    OP
       2019-07-19 15:00:38 +08:00
    @HGladIator 我没快速学习的方法. 只有平时多总结知识, 总结以前的总结, 完善以前的总结, 不断记下自己的观点, 反复审视自己的观点, 不断改进自己的观点. 你看下主题帖第 2 个 append, 我觉得从认识论来学习更好;

    至于执行, 兴趣驱动, 靠爱发电
    deathscythe
        170
    deathscythe  
       2019-07-19 15:53:30 +08:00
    大佬传授经验, 快记笔记!
    laocp
        171
    laocp  
       2019-07-19 17:47:24 +08:00
    A,B,D,C,C
    isolove
        172
    isolove  
       2019-07-19 18:26:33 +08:00
    楼主 能不能跟你学习一下。
    joshu
        173
    joshu  
       2019-07-19 18:28:29 +08:00 via Android
    我觉得,知道有这么个东西,写代码的时候知道可以使用
    知道有这个东西,同时警惕可能会犯的错误,有查问题的能力
    这两项就可以了。。
    考选择题可能看不出这种能力,特别有些东西编译器会帮你纠错的
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2808 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 13:42 · PVG 21:42 · LAX 05:42 · JFK 08:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.