现实两个逻辑推理,神帝部落和圣地部落各信奉人性恶和人性善,两部落可以自由通婚,孩子要跟母亲信仰。然后一个神圣子信奉人性善,选择哪个选项一定是错误的,选项就是关于神圣子他老爸老妈和姥姥的部落归属问题,这个比较简单没有挑战性。
第二个是甲乙丙丁四个经历,谈论谁谁会中标之类的,结果出来之后只有一个人对。让你选择选项的说法哪个正确的可能性最大。这个也很简单,没有挑战性。
接下来问答题:
1.进程和线程的区别
2.多线程编程要注意什么
3.什么是可重入函数和不可重入函数
4.你认为C中最难查找的错误是什么错误,有什么解决办法
5.你通常如何处理各种函数的返回值
6.通常一个程序中,关于异常流程处理的代码和正常流程处理的代码,哪个代码量多
7.你认为C语言的精髓是什么,为什么
8.assert在什么时候用
需要使用断言:
1.可以在预计正常情况下程序不会到达的地方放置断言 :assert false
2.断言可以用于检查传递给私有方法的参数。(对于公有方法,因为是提供给外部的接口,所以必须在方法中有相应的参数检验才能保证代码的健壮性)
3.使用断言测试方法执行的前置条件和后置条件
4.使用断言检查类的不变状态,确保任何情况下,某个变量的状态必须满足。(如age属性应大于0小于某个合适值)
不要使用断言:
断言语句不是永远会执行,可以屏蔽也可以启用
因此:
1.不要使用断言作为公共方法的参数检查,公共方法的参数永远都要执行
2.断言语句不可以有任何边界效应,不要使用断言语句去修改变量和改变方法的返回值
接下来有7个程序改错题,看了一下,难度不大,没记下来