- 主题:上午面试了一个小孩,问了一个问题是不是太过分了 (转载)
如果不精通编译器所有警告的打开关闭方式,作为初级C码农也不合格啊
现代编译器或者分析工具是非常容易找出所有潜在类型转换问题的,尤其是C,肯定不会有遗漏。把警告作为错误即可,不要用人脑代替编译器。
【 在 feiy (null) 的大作中提到: 】
: 所以,规范公司和有经验的工程师都会拒绝用单独一个char(plain char),都会定义一套u8 s8 u16 s16之类的使用。
: 但现实里,却是有不少工程师有时会无意该地夹杂用char来表示他所本意的signed 8-bit,而且认为没错无问题。有时候,编译器会给warning,有时候未必会给warning(前面有人说char a=-5;很易被warning,但若-5是隐性计算出来的呢,编译器本身也并不总是很聪明),有很多人面
: 不是说一定会出问题bug,做多开发经验有了,一般基本都会遇到。
: ...................
--
FROM 27.91.71.*
你们掏钱买个C静态分析器,或者招个学过编译原理的人,让他实习期给你写个,天下就太平了。。。
【 在 feiy (null) 的大作中提到: 】
: 彻底消除char这种用法,是对的。公司代码审查规则必须有这一条。
: 我只是基于我协助解决过的许多朋友的形形色色的bug经验,知道很多公司很多工程师并不在乎使用char,这是个现实。
: 这是现实,如果你知道这里的问题风险,不是更好或必要吗?
: ...................
--
FROM 27.91.71.*
是的。。。
其实招人和买电脑一样,一分钱一分货,不差钱可以从全球最牛的企业挖,薪酬乘3。大部分东家做不到吧,最后招人还是只能选性价比高的。
既然追求性价比,那首先就不应该有奇怪的念头,否则还是自己买单。
【 在 Qlz8848 (Qlz8848) 的大作中提到: 】
: 如果这个问题没有标准答案,还是不要问。你这个问题按你的解读没问题,但是信息不对称情况下别人会认为你耍他。
: 就好像小学生问同学某些脑筋急转弯,答不出就说人家是傻瓜。说白了就是一种利用信息不对称来拔高自己贬低对方的手段
: - 来自 水木社区APP v3.4.4
: ...................
--
FROM 27.91.71.*
茴香豆的茴字有几种写法?
--
FROM 111.201.173.*
类似memset, memcpy这种用途,还是应该用char。这里char并不是“字符类型”或者“整型”,而是“内存单元”。一个buffer的类型如果不是char*那应该是什么呢?
如果这里用u8,遇到像你说这种内存单元不是8位的就真错误了。而用signed/unsigned char的话,理论上有可能平台只能高效支持其中一种,另一种较低效。我想这也是C标准里char不默认为有符号的原因。
【 在 feiy 的大作中提到: 】
: 所以,规范公司和有经验的工程师都会拒绝用单独一个char(plain char),都会定义一套u8 s8 u16 s16之类的使用。
: 但现实里,却是有不少工程师有时会无意该地夹杂用char来表示他所本意的signed 8-bit,而且认为没错无问题。有时候,编译器会给warning,有时候未必会给warning(前面有人说char a=-5;很易被warning,但若-5是隐性计算出来的呢,编译器本身也并不总是很聪明),有很多人面对一大堆warning也习惯于忽略无视。
: 不是说一定会出问题bug,做多开发经验有了,一般基本都会遇到。
: ...................
--
修改:ilovecpp FROM 114.86.93.*
FROM 114.86.93.*
不是C语言的问题,现实情况也不是“学C语言就是学这些东西”,而是“因为历史原因,学C语言就不得不学这些东西”。
【 在 a0123456789q 的大作中提到: 】
: 如果学C语言就是学这些东西,那真的是浪费生命。
:
--
FROM 60.3.149.*
【 在 xiaoju 的大作中提到: 】
: 是的。。。
: 其实招人和买电脑一样,一分钱一分货,不差钱可以从全球最牛的企业挖,薪酬乘3。大部分东家做不到吧,最后招人还是只能选性价比高的。
: 既然追求性价比,那首先就不应该有奇怪的念头,否则还是自己买单。
: ...................
面试一个小孩,我觉得这种茴香豆的写法问题太扯淡了。 问个unsigned int *和unsigned char *这些指针类型占几个字节都比茴香豆有意义。这种指针大小的问题,其实也是比较开放的,答对一个就ok,能多给几个答案那更好,是这属于编程中的一个重要点,比什么鸡毛char带不带符号有意义多了。char的出题人真2
--
FROM 111.197.21.*
这个问题当作面试问题非常不错,只不过说生产环境这么写代码就是垃圾了。
而且看描述,“结果小孩满脸露出疑惑然后略带有点生气的表情看着我”,这小孩块别要了。
【 在 anotherstone 的大作中提到: 】
: 发信人: feiy (null), 信区: NewExpress
: 标 题: 上午面试了一个小孩,问了一个问题是不是太过分了
: 发信站: 水木社区 (Thu Jul 8 18:25:14 2021), 站内
: ...................
--
FROM 60.3.149.*
这个问题算基础题,如果做不出来,都是大一c语言没学好的
【 在 anotherstone 的大作中提到: 】
: 【 以下文字转载自 NewExpress 讨论区 】
: 发信人: feiy (null), 信区: NewExpress
: 标 题: 上午面试了一个小孩,问了一个问题是不是太过分了
: 发信站: 水木社区 (Thu Jul 8 18:25:14 2021), 站内
:
: 面
: ..................
发自「今日水木 on iPhone 12」
--
FROM 39.144.108.*
正常吧,
也考验沟通能力吧
这点事都生气就拒了吧,除非招不到人
【 在 anotherstone 的大作中提到: 】
: 发信人: feiy (null), 信区: NewExpress
: 标 题: 上午面试了一个小孩,问了一个问题是不是太过分了
: 发信站: 水木社区 (Thu Jul 8 18:25:14 2021), 站内
: ...................
--
FROM 111.199.188.*