一不小心鸽了快两周,最近暑期面试,没啥灵感写推文。现在基本上是暑期投递的尾巴了,今天总结下笔面试多次碰到两类概率题,供大家参考。我投的基本都是量化岗,到现在3/20的通过率,总之很艰难。 贝叶斯公式 我参加的现场笔试,都碰到了用贝叶斯公式算概率题,跟大一概率论书上的东西差不多,贝叶斯的思想是用先验概率来估计后验概率,总结成公式如下 ? 因此E(k) = 2^(k+1) - 2,这样,E(4) = 30 ? 再举一个例子 ? 有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法? 还是刚才的逻辑,假设走k级有f(k)种走法,显然f(1)=1,f(2)=2,如果第一次走了1级,剩下k-1级有f(k-1)种走法,如果第一次走了两级,剩下k-2级有f(k-2)种走法,即f(k)=f(k -1)+f(k-2)。
阅读本文大概需要6分钟 继续挖掘一些有趣的基础面试题,有错望指出来哈,请赐教~ 1.包装类的装箱与拆箱 简单一点说,装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转为基本数据类型 invokestatic #2 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer; 2.Integer类型的比较 深藏陷阱的面试题: public class Test { public static void main(String[] args) { Integer 返回去看面试题,是否已一目了然? 3.序列化和反序列化 概念 序列化:把Java对象转换为字节序列的过程。 反序列化:把字节序列恢复为Java对象的过程。 序列化的实现 将需要被序列化的类实现Serializable接口 用途 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。
2.Python中的装饰器是什么?如何使用装饰器? 答案:装饰器是一种用于修改函数或类行为的特殊函数。它们接受一个函数或类作为输入,并返回一个新的函数或类。 例如,下面的代码使用列表解析生成一个包含1到10的平方的列表: squares = [x**2 for x in range(1, 11)] print(squares) # 输出: [1, 4, 9 下面是异常处理的基本语法: try: # 可能引发异常的代码 except ExceptionType1: # 处理特定类型的异常 except ExceptionType2: # 处理其他类型的异常 四、闭包的应用场景 闭包有许多应用场景,其中最常见的包括: 装饰器:装饰器是Python中的一种高级特性,它可以用来修改函数的行为。 生成器的使用场景 生成器适合于处理大数据量和耗时操作的场景,例如遍历文件或网络数据流、CPU密集型计算、图像处理等。
刷面试题是一种很好的感知职场需求、发现自身知识缺陷并不断提升自我的过程。 本专题通过收集、整理Python真实面试题,给大家讲解面试过程中对Python比较常见的考察点和备考点,希望能够引起读者的足够重视。 1. python是如何进行类型转换的? 2. python是如何进行内存管理的? python引用了一个内存池(memory pool)机制,即Pymalloc机制(malloc:n.分配内存),用于管理对小块内存的申请和释放。
上一章节面试官问了我们关于string数据结构的使用场景以及注意的点。 虽然我们对答如流,但是毕竟只是redis很基础的知识点,下面面试官即将开始新的一轮面试要点,注重考查我们的日常工作中使用的场景以及怎样解决出现的弊端。 但是跳槽经常面对的是:面试造火箭,进去拧螺丝的场景。所以我们要了解更多的面试知识,才能有机会进入大厂,才能有学到更多更先进且能亲自实践的机会。 好了,开始我们新的一轮面试知识焦点! 2 数据结构list的理解 面试官:心里暗暗说道,小伙子,不要以为string的数据结构说的很好,就暗暗窃喜,你以为我们只是问这么简单的基础知识;你以为让你进来拧螺丝就可以放松技术含量,不可能滴! 3.2 列表的使用场景 面试者:“又开始老套路了,又开始问我使用场景了,又开始问我项目用到哪些功能了,我真的只有一年经验呀,回忆下看过的文章,做过的项目”。
我是李福春,我在准备面试。 通过本篇,你可以学到下图的知识点。 e.printStackTrace(),在分布式系统中,无法确定输出到了什么位置,应该输出到日志中; 提早抛出,晚点捕获;提高效率; 自定义异常 自定义异常的时候需要注意两点: 1,尽量不要定义检查异常 2,
LaunchMode 有四种,分别为 Standard,SingleTop,SingleTask 和 SingleInstance,每种模式的实现原理一楼都做了较详细说明,下面说一下具体使用场景: Standard : Standard 模式是系统默认的启动模式,一般我们 app 中大部分页面都是由该模式的页面构成的,比较常见的场景是:社交应用中,点击查看用户A信息->查看用户A粉丝->在粉丝中挑选查看用户B信息
} } } return dp[n]; // 返回整个字符串是否可以被拆分 }}复杂度分析时间复杂度:O(n^2) 尽管看起来像是 O(n^3)(因为有子字符串的操作),但由于子字符串的比较是在常数时间内完成的(使用了HashSet),所以实际复杂度仍然是 O(n^2)。空间复杂度:O(n),用于存储 dp 数组。 、死锁等逻辑问题或者有异常请求导致某个线程池被占满二、定位具体高 CPU 原因可采用以下步骤(可以在面试时按这个顺序答):1. top/htop/ps 查看哪个进程/线程占用 CPU 高 top 查找是哪个进程 结合压测场景回看流量特征这台机器是否被错误地负载过重?(LB 权重不均)是否是压测数据重复、造成缓存失效导致落到计算? 某些特定路径是否流量异常(如重试逻辑失控)三、具体可能的原因分析常见导致 CPU 100% 的场景1. 死循环或递归未终止2.
面试官:咱来写个算法题吧设计一个抢红包的随机算法,比如一个人在群里发了100块钱的红包,群里有10个人一起来抢红包,每人抢到的金额随机分配。1.所有人抢到的金额之和要等于红包金额,不能多也不能少。 2.每个人至少抢到1分钱。 80÷4×2 = 40,所以第2个人抢到的金额的随机范围同样是0.01,39.99元,在正常的情况下,还是平均可以抢到20元。假设第2个人随机抢到了20元,那么剩余金额是60元。 7.62, 7.14, 1.1][21.34, 8.24, 1.9, 7.98, 0.49, 0.32, 13.75, 37.27, 0.03, 8.68]以上就是关于红包随机算法的所有解题方法了,面试中如果遇到考这道算法题 如果觉得对面试有帮助的话,记得给文章点赞哦~
TCP与UDP区别 1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接 2、TCP提供可靠的服务。 (2) Telnet:一种用于远程登陆的端口,使用23端口,用户可以以自己的身份远程连接到计算机上,可提供基于DOS模式下的通信服务。 (3) SMTP:邮件传送协议,用于发送邮件。 (2) SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。 2. 说说TCP的三次握手 在TCP/IP协议中,TCP协议提供可靠的连接服务,连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP窗口大小信息。 ?
对于生产环境的使用和面试都是至关重要的。 那么,提升 Kafka 性能的有效手段都有哪些呢?接下来,我们一起来看。 因此,增加更多的 Broker,扩展更多的分区 Partition 是提升 Kafka 性能的关键,如下图所示: 2.消息批发送(重要) Kafka 默认是不支持批量发送消息的,然而开启批量发送消息可以提升 本文已收录到我的面试小站 www.javacn.site,其中包含的内容有:Redis、JVM、并发、并发、MySQL、Spring、Spring MVC、Spring Boot、Spring Cloud
今天,给大家分享几道面试中常见的 Javascript 编程题。 cleanStr[right]) { return false; } left++; right--; } return true; } 2、
但是这个问题确实也是很常规,常规到它甚至没有资格作为一个场景面试题出现在面试环节中。 问题在于不同的通道在共用同一个线程池,从而导致的相互影响。所以解决思路主要就是怎么把资源隔离开来。 关于这个线程池,我之前写了这篇文章,有兴趣的可以去了解一下,不赘述了:《看到一个魔改线程池,面试素材加一!》 本质上还是线程池隔离的思路,只不过一个是分多个不同的业务线程池,线程池和业务绑定。 没有思路没有关系,我们再来读读题:批量任务触发,从订单表中查询出“处理中”状态的订单,订单可能属于不同的通道,所以需要调用不同通道的接口。但是某个通道慢,导致影响了其他通道订单的查询。 问怎么办? 因为他的业务场景是定时任务嘛,所以我想起了之前写过的这篇文章:《又被夺命连环问了!从一道关于定时任务的面试题说起。》 类似的场景 基于提问者的这个问题,歪师傅也想起了两个类似的场景。 一个是我参与开发过的一个对客发送短信的消息系统,简化一下整个流程大概是这样的: 上面这个图片会出现什么问题呢? 就是消息堆积。
但是这个问题确实也是很常规,常规到它甚至没有资格作为一个场景面试题出现在面试环节中。 问题在于不同的通道在共用同一个线程池,从而导致的相互影响。所以解决思路主要就是怎么把资源隔离开来。 关于这个线程池,我之前写了这篇文章,有兴趣的可以去了解一下,不赘述了:《看到一个魔改线程池,面试素材加一!》 本质上还是线程池隔离的思路,只不过一个是分多个不同的业务线程池,线程池和业务绑定。 没有思路没有关系,我们再来读读题:批量任务触发,从订单表中查询出“处理中”状态的订单,订单可能属于不同的通道,所以需要调用不同通道的接口。但是某个通道慢,导致影响了其他通道订单的查询。 问怎么办? 因为他的业务场景是定时任务嘛,所以我想起了之前写过的这篇文章:《又被夺命连环问了!从一道关于定时任务的面试题说起。》 类似的场景 基于提问者的这个问题,歪师傅也想起了两个类似的场景。 一个是我参与开发过的一个对客发送短信的消息系统,简化一下整个流程大概是这样的: 上面这个图片会出现什么问题呢? 就是消息堆积。
}else if(array[mid]<array[high]){ high=mid;//不是mid-1 }else{//相等情况, [2,1,2,2,2,2,2 ] 或者[2,2,2,2,2,1,2] high--; //无法判定在左还是在右 } } return array int[] b={3,4,5,1,2}; int[] c={2,1,2,2,2,2,2}; System.out.print(minNumberInRotateArray 分析:只有一阶的时候 f(1) = 1 ,只有两阶的时候可以有 f(2) = 2,只有3阶时,f(3)=3 最后一跳,跳1阶时,有f(n-1)种 最后一跳,跳2阶时,有f(n-2)种 所以f(n +f(0) 所以,f(n)=2f(n-1) 初始值 f(0)=0 f(1)=1 f(2)=2 所以,f(n)=2f(n-1)=22f(n-2)=..=2n-1f(n-(n-1))=2n-
times son[v]-2\)。 return 0; } 2. 求长度为 2n 的字典序第 k 大的合法括号序列,合法是符合下面两个要求: 1)空串 2)若 s 合法,()s、(s)也合法 思路是长度为2i的合法序列有\(2^{i-1}\)个,所以可以递归构造。 如果\(2^{n-2} > k\),说明一定是()开头,再去构造长度为2(n-1)的第 k 大序列。否则,一定是(s)构成,再去构造长度为2(n-1)的第 \(k-2^{n-2}\)大的序列。 5. LRUCache(LeetCode146) 面试完才知道这是道经常考的面试题,有原题,只不过把键值都改为字符串。 当时写的 bug 太多了,对链表的操作也没有抽出函数来。回来又改了好久才 AC。
所以就有了第二种方法: 2.采用根搜索算法: 从一个根出发,搜索所有的可达对象,这样剩下的那些对象就是需要被回收的 静态代理和动态代理的区别,什么场景使用? ArrayList和LinkedList的区别,以及应用场景 ArrayList是基于数组实现的,ArrayList线程不安全。 LinkedList是基于双链表实现的: 使用场景: (1)如果应用程序对各个索引位置的元素进行大量的存取或删除操作,ArrayList对象要远优于LinkedList对象; ( 2 ) 如果应用程序主要是对列表进行循环 run()和start()方法区别 这个问题经常被问到,但还是能从此区分出面试者对Java线程模型的理解程度。 为什么把这个问题归类在多线程和并发面试题里?因为栈是一块和线程紧密相关的内存区域。每个线程都有自己的栈内存,用于存储本地变量,方法参数和栈调用,一个线程中存储的变量对其它线程是不可见的。
1.请写出一张图片的HTML代码,已知道图片地址为“images/abc.jpg”,宽100px,高50px 2.请问display:none和visibility:hidden的作用什么,它有什么区别 14.解释一下什么叫闭包,并实现一段闭包代码 15.简述一下什么叫事件委托以及其原理 16.下列JavaScript代码执行后,依次alert的结果是 var obj = {proto: {a:1,b:2} }; function F(){}; F.prototype = obj.proto; var f = new F(); obj.proto.c = 3; obj.proto = {a:-1, b:-2}
网上流传一份微软公司面试的考题,共100道,真实性不可考。 这种题目用来面试,是否科学,那就智者见智了。在我看来,它们更像游戏。转贴如下,可供闲时娱乐。 第一个女人:过桥需要1分钟; 第二个女人:过桥需要2分钟; 第三个女人:过桥需要5分钟; 第四个女人:过桥需要10分钟。 因为圆井盖不会掉进下水道去,而且在同体积情况下,圆形所费的材料最少. 4. 1/7,2/7,4/7,第一天给1/7,第二天拿2/7换1/7...... 5. 15. 1和2先过去花了2分钟 1再回去花了1分钟 3和4过去花了10分钟 2再回去花了2分钟 最后1和2过去花了2分钟 加起来正好17分钟 16. 四次(鸽笼原理) 75. 128秒 97. 2月 98. 火柴 99. 竖着切 100. 备用胎
应用场景:ArrayList使用在查询比较多,答案是插入和删除比较少的情况,而LinkedList使用在查询比较少而插入和删除比较多的情况 HashMap和HashTable的区别 相同点:都可以用来存储 ) //取最小: 1 Math.max(1,2,3) //取最大值: 3 49.Js中的事件 一.鼠标事件 (1)单击事件:onclick 鼠标单击的时候会触发 (2)双击事件:ondbclick Window关键字不需要new,也可以省略. (2)window对象中的常用方法: 一.框体方法 1.alert(); 警告框 2.confirm(‘确认提交?’) 返回值:返回当前定时器的id 2.setInterval:每间隔指定的时间执行指定的函数 参数1:函数对象 参数2:时间,单位毫秒。 var pwd2=document.getElementById("pwd2").value; //获取span对象 var span=document.getElementById("pwd2Span