首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言---单身狗问题

1.单身狗初阶 这个题目就是数组里面有一串数字,都是成对存在的,只有一个数字只出现了一次,请你找出来 (1)异或是满足交换律的,两个相同的数字异或之后是0; (2)让0和每个数字都异或一遍,出现2次的经过异或就会变为...,但是如果我们像上面的题目一样进行异或操作,最后的结果 就是5和6异或,那么最后的结果既不是5,也不是6,显然不符合题意; (3)这个时候最好的方法就是进行分组,而且要把5,6分开,最后分别在这两个组里面进行异或...最后一个组剩下5,一个组剩下6,这样就得到了我们想要的结果; (4)明确了思路,我们就要着手准备如何进行分组,分组的依据是什么,才能够把5,6分开; (5)1:0001          2:0010...,5的二进制最低位的数字是1, 2 4 6的二进制最低位的数字是0,这个就可以作为我们的分组依据; (6)程序应该如何设计呢,主函数这样设计: findnum是我们的自定义函数,因为形参的改变不会影响实参...,形参是实参的一份临时拷贝,所以我们传递地址,这样形参的改变就可以同步到实参了; (7)我们的自定义函数这样设计: 我们让数组里面的数字和1进行按位与,根据他们的二进制序列,1,3,5进行之后的结果是1

3700

面试官初体验

反射是什么?Golang中的反射是基于什么实现的?...Redis的内存碎片清理机制是什么?...通常与自定义网络驱动程序一起使用。none 模式不适用于集群服务 如何在一个自定义ip上运行docker容器? dockerFile中最常见的指令是什么?...相同楼层间隔下:最低摔碎的楼层越高,Cup1需要扔的次数越多,Cup2需要扔的次数可认为相同。 我们的目的其实是需要尽可能保证:不管最低摔碎的楼层是第一层还是第99层,扔的总次数都尽可能一致且减少。...编程题 协程池 原生实现一个协程池package,使用者应能使用该协程池package并发完成自己输入的一系列自定义任务(要求解耦,即协程池本身和自定义任务完全无关) 示例: 输入任务列表(以下仅为伪代码

30551
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    面试官问我,使用Dubbo有没有遇到一些坑?我笑了。

    之前没看过肥朝Dubbo源码解析系列的同学这种时候往往采用最低效的解决办法,把异常栈往微信群一丢,各种求助.但是往往毫无收获,然后感叹社会为何如此冷漠!...是我们自定义的,不符合 5.是Dubbo本身的异常(RpcException),直接抛出.很明显,这个HelloException是我们自定义的,和RpcException几乎没有半毛钱关系. 6.否则...其实Dubbo的这个考虑,是基于序列化来考虑的.你想想,如果provider抛出一个仅在provider自定义的一个异常,那么该异常到达consumer,明显是无法序列化的.所以你注意看Dubbo的判断...包装成RuntimeException抛给客户端.此时,就有可能出现我说的那种,这个异常是provider.jar自定义的,那么provider抛出的时候进行序列化,因为consumer没有依赖provider.jar...如何解决 既然都知道了原理了,那么很好解决,我随便列举一下,比如从规范上要求业务方接口声明HelloException

    86340

    原来这就是RPC呀,也没那么难嘛?

    服务注册中心(Registry)可实现负载均衡和故障切换。 RPC调用过程如下图所示: ?...RPC一般用于分布式系统中,且通常是内部调用使用。...因此后端系统间调用如果能够采用和前端一样的技术栈,那无疑是维护成本最低的,而这时HTTP的技术生态也刚好满足这个条件,所以就星星之火可以燎原了。...那么对于少数的部分系统,他们需要使用RPC,一可能是老架构,也不敢动这块,二是性能要求可能只有RPC可以满足。...传输协议 RPC,可以基于TCP协议,也可以基于HTTP协议 HTTP,基于HTTP协议 传输效率 RPC使用自定义的TCP协议,可以让请求报文体积更小,或者使用HTTP2协议,也可以很好的减少报文的体积

    83640

    菜菜从零学习WCF七(消息协定)

    对于这种情况,最常见的方案是插入自定义SOP标头。     另一种常见方案是定义消息头和正文的安全属性,也就是说,确定是否对这些元素进行数字签名和加密。消息样式的操作可提供这种控制。     ...消息样式的操作最多具有一个参数和一个返回值,其中参数和返回值的类型都是消息类型;也就是说,这两种类型可直接序列化为指定的SOP消息结构。     ...“最低保护级别”。...不过,您应该将每个正文部分的保护级别设置为实际要求的最低保护级别 控制标头和正文部分的名称和命名空间     在消息协定的SOAP表示形式中,每个标头和正文部分都映射为一个具有名称和命名空间的XML元素...若要控制包装元素的名称和命名空间,请使用WrapperName和WrapperNameSpace属性 SOAP标头属性   SOAP标准定义了下列可存在于标头上的属性:       Actor/Role

    2.6K41

    分享 Java 常见面试题及答案(下)

    并发集合提供更好的可扩展性。...//测试代码为C语言代码 前置知识: 1.一个整数自己跟自己异或,结果为0 //因为异或的法则为,相同为0,不同为1,注意这里所说的都是二进制位。 2.任意一个整数跟0异或,结果为本身。...(答案) 开闭原则要求你的代码对扩展开放,对修改关闭。这个意思就是说,如果你想增加一个新的功能,你可以很容易的在不改变已测试过的代码的前提下增加新的代码。...(答案) 一个公共的顶级类的源文件名称与类名相同,而嵌套静态类没有这个要求。...由于这个原因,DOM 比 SAX 更快,也要求更多的内存,不适合于解析大 XML 文件。 131)说出 JDK 1.7 中的三个新特性?

    1.1K20

    460道Java后端面试高频题

    Java 中的参数传递时传值呢?还是传引用? Java 中的 Math.round(-1.5) 等于多少? 两个数的异或结果是什么? error 和 exception 的区别?...什么是 Java 的序列化,如何实现 Java 的序列化? Java 中的反射是什么意思?有哪些应用场景? 反射的优缺点? Java 中的动态代理是什么?有哪些应用? 怎么实现动态代理?...Mybatis 逻辑分页和物理分页的区别是什么? Mybatis 是否支持延迟加载?延迟加载的原理是什么? 说一下 Mybatis 的一级缓存和二级缓存?...,其他都出现两次 子数组最大累乘积:给定一个 double 类型的数组 arr,其中的元素可正、可负、可 0,返回子数组累乘的最大乘积。...二叉树的层序遍历 Morris 遍历二叉树:前序、中序、后序 输入一个数组,判断是不是二叉搜索树的后序遍历序列 二叉树的序列化:前序、层序 反序列化:怎么序列化的就怎么反序列化 在二叉树中找一个节点的后继节点

    83920

    金九银十Offer收割机:Android 面试核心知识点精讲,不打没准备的仗!

    创建规则是什么 自定义Viewwrap_content不起作用的原因 在Activity中获取某个View的宽高有几种方法 为什么onCreate获取不到View的宽高 View#post与Handler...自定义 View 的流程和注意事项 自定义View如何考虑机型适配 自定义控件优化方案 invalidate怎么局部刷新 View加载流程(setContentView) 7.View事件分发 View...的签名机制,签名如何实现的,v2相比于v1签名机制的改变 APK的安装流程 22.序列化 什么是序列化 为什么需要使用序列化和反序列化 序列化的有哪些好处 Serializable 和 Parcelable...1.普通 普通开发者,能够使用一定的专项技术,完成别人分配的模块的开发。在工作当中,他们很少有机会决定自己做什么和怎么做,通常是在他人指导和安排下编码实现特定的细分功能。...尽量把你的亮点总结成一句简练的话,再加上数字来说明它的影响和意义。 其次在简历里中加入了可交互、可展示的内容,更能显出你的能力与众不同。

    83912

    Python 实现VT全免杀,过360动态

    shellcode加解密使用改写成python版的自定义的异或随机值加解密: import random def decrypt(input_bytes, key): output = bytearray...) # 执行创建线程 WaitForSingleObject(ctypes.c_int(h), ctypes.c_int(-1)) # 检测线程创建事件 这里采用将shellcode加载器整体使用自定义的异或随机值加密在采用一个加载器来加载...后面发现360的特征码是同时使用ctypes库和exec函数,ctypes库是一定要使用的,只能在exec上做文章,不能直接使用exec函数,但是可以使用pickle库将exec序列化,之后将exec序列化后的字符串再使用自定义的异或随机值加密...# 执行shellcode加载器 a(decrypted.decode('utf-8')) break 采用将shellcode加载器整体使用自定义的异或随机值加密的方式...04 制作免杀 复制shellcode加载器到自定义的异或随机值加解密进行加密,字符串前面要加r,同时要用encode('utf-8')进行编码: 复制下面加密后的16进制代码到shellcode加载器的加载器

    1.2K21

    Java集合容器面试题(2020最新版)

    遍历一个 List 有哪些不同的方式?每种方法的实现原理是什么?Java 中 List 遍历的最佳实践是什么? 说一下 ArrayList 的优缺点 如何实现数组和 List 之间的转换?...这些算法通常是多态的,因为相同的方法可以在同一个接口被多个类实现时有不同的表现。事实上,算法是可复用的函数。 它减少了程序设计的辛劳。...transient 的作用是说不希望 elementData 数组被序列化,重写了 writeObject 实现: private void writeObject(java.io.ObjectOutputStream...() 方法序列化 ArrayList 中的非 transient 元素,然后遍历 elementData,只序列化已存入的元素,这样既加快了序列化的速度,又减小了序列化之后的文件大小。...用户自定义 Key 类最佳实践是使之为不可变的,这样 hashCode() 值可以被缓存起来,拥有更好的性能。

    1.2K20

    面试官:看你简历说精通序列化与反序列化

    JSON、XML这些序列化方法,可读性最好,但信息密度最低 Kryo、Hessian这些通用二进制序列化实现,适用范围广,使用简单,性能比JSON、XML要好,但不如专用的序列化实现 对强业务类系统,比如电商...使用专用的序列化方法,可提高序列化性能,并有效减小序列化后的字节长度。 在专用序列化方法中,不必考虑通用性。...比如,可固定字段顺序,这样在序列化后的字节里面就不必包含字段名,只要字段值即可,不同类型数据也可做针对性优化: 对于同样的User对象,我们可以把它序列化成: 03 | 08 7a 68 61 6e...如果说需要超高性能或带宽有限,可使用专用序列化方法,提升序列化性能,节省传输流量。不过实现复杂,大部分情况下并不划算。...其中的数据传输使用MQ转发 还是基于netty自定义?

    38430

    别再和面试官说你不精通序列化与反序列化了

    JSON、XML这些序列化方法,可读性最好,但信息密度最低 Kryo、Hessian这些通用二进制序列化实现,适用范围广,使用简单,性能比JSON、XML要好,但不如专用的序列化实现 对强业务类系统,比如电商...使用专用的序列化方法,可提高序列化性能,并有效减小序列化后的字节长度。 在专用序列化方法中,不必考虑通用性。...比如,可固定字段顺序,这样在序列化后的字节里面就不必包含字段名,只要字段值即可,不同类型数据也可做针对性优化: 对于同样的User对象,我们可以把它序列化成: 03 | 08 7a 68 61 6e...如果说需要超高性能或带宽有限,可使用专用序列化方法,提升序列化性能,节省传输流量。不过实现复杂,大部分情况下并不划算。...其中的数据传输使用MQ转发 还是基于netty自定义?

    1.4K20

    PHP安全:变量的前世今生

    PHP有一个神奇的特性,异或。...异或本身并不是神奇的东西,但是PHP可以让字符串以ascii编码进行异或 异或的简单规则:如果a、b两个值不相同,那么异或结果为1。如果a、b两个值相同,那么异或结果为0。...通配符前面和后面存在其他匹配要求,就容易引起回溯,正则表达式每一个符号都会匹配完整个字符串,匹配得出的临时结果让下一个正则匹配符号再次匹配完整个字符串。 比如/^自定义函数 利用自定义函数对字符串或者函数名进行拼接,删改,替换,除了绕过WAF,更有一些优秀的危险代码可以绕过人,比如对代码后面的空格统计数量转化成字符。...这里附上一个简单的自定义函数,万法归一,都是类似的。 <?

    1.7K20

    【优选算法篇】计算机背后的秘密武器:位运算的超能力(下篇)

    加法的位运算原理 在计算机中,整数加法通常是通过“位运算”来实现的。加法的基本原理可以分为两个部分: 异或运算 (^):相当于不带进位的加法。...a ^ b 计算的是 a 和 b 在每一位上的和,但不考虑进位。也就是说,如果某一位上有 1 和 1,那么这部分结果会变成 0(因为 1 + 1 = 0,不考虑进位)。...但此方法违背了题目不使用加法运算符的要求,仅供参考。 2.3.3 解法 4:模拟机器加法(通过模拟二进制加法) 模拟机器加法(binary addition),也可以通过移位和按位运算来模拟。...暴力法(解法 3)直接使用加法运算符,虽然是最简单的解法,但不符合题目的要求。 机器加法法(解法 4)是对机器加法的模拟,实际上与位运算法的实现类似,但展示了加法如何在硬件中执行。...4.5 总结 这个算法通过异或运算和最低有效位(lsb)分组来有效地找出缺失的两个数字,时间复杂度为 O(n),空间复杂度为 O(1),是一个高效且简洁的解决方案。 5.

    7810

    重新思考自定义容器类的实现

    collections.abc.Mapping1: 一个神奇的鸭子外壳,得按要求穿到身上,任你是什么东西都立即拥有了鸭子的技能,和长相。 dict: 鸭子本鸭,所有基于此的动物都是鸭子的基因变异。...给我翻译翻译 为什么这么说?collections.UserDict是开箱即用,还方便小量修改,要改哪个行为,直接覆写就好了。但核心数据结构是写死的,可自定义空间不大。...Python 居然没有一个让json.dumps读取的魔法方法,方便自定义类支持 JSON 序列化。导致json.dumps的这一特性,只对dict的派生类生效。...为这支持这万恶的json.dumps必须重新考虑基类的选择了。 用dict做基类,容易发生覆写不完全的问题,而collections.abc.恰好可以补上这些缺口。只需要实现协议要求的抽象方法即可。...(obj)就会产生这份干净数据序列化后的结果。

    15040

    为Python选择一个更快的JSON库

    速度并不是一切——你可能还会关心其他一些事情,比如安全性和可定制性。 因此,为了帮助你根据需要选择最快的JSON库,我想在这里分享一下我为Python选择一个快速JSON库所经历的过程。...我能得到的最大加速是比原先运行快33%(如果JSON编码时间变为零),但那是一个足够大的时间块,使用最快的JSON库会让这个时间块减小到最低。...典型的消息是什么样的? 在我的例子中,我主要关心的是编码小型消息,即由Eliot生成的日志消息的特定结构。...自定义编码: Eliot支持自定义JSON编码,因此您可以序列化其他类型的Python对象。有些JSON库支持这一点,有些则不支持。 跨平台: 运行在Linux、macOS和Windows上。...你可能有不同的要求,你的基准测试也可能不同——例如,你可能需要解码大型文件。 关键点是过程: 找出你的特定要求,比如性能以及其他方面,然后选择最适合你的需求的库。

    1.4K20

    猿学-讲一下Asp.net core MVC2.1 里面的 ApiControllerAttribute

    当然你也可以自定义,因为毕竟你会有自己的验证,后文会讲。 下面,我们先来举个例子说一下。...ASP.NET Core MVC里面有一个比较令人恼怒的问题你需要手动给参数指定[FromBody]这个特性,以便让系统知道如何从Request body里面反序列化他们,比如反序列化json。...处理multipart/form-data请求 如果你的action里面的一个参数指定了[FromFile]特性(这通常是用于文件上传的),框架会自动假设请求是multipart/form-data。...集中的路由机制不会应用在API controller,框架要求只能使用基于特性的路由,即在action上指定[Route("XXX")]的方式。 5....行为自定义 像MVC框架的大部分组件一样,ApiControllerAttribute的行为是高度可自定义的。首先,上面说的大部分内容都是可以简单的用 on/off 来切换。

    1K00
    领券