草庐IT

经典前端面试题

全部标签

c++ - 头文件内容之谜【面试题】

头文件Fill.hpp的内容应该是什么才能使以下代码正常工作,即两个assert都正常工作?#include#include#include#include"Fill.hpp"intmain(){std::strings=multiply(7,6);inti=multiply(7,6);assert(s=="42");assert(i==42);}TIA 最佳答案 定义conversionfunctions用于将类型multiply转换为int和std::string,如方法1或使用方法2(类似于1)方法一structmultipl

第14届蓝桥杯青少组python试题解析:23年5月省赛

选择题T1.执行以下代码,输出结果是()。lst="abc"print(lst+lst)abcabcabclst+lstabc+abcT2.执行以下代码,输出的结果是()。age={16,18,17}print(type(sorted(age)))sorted(iterable,cmp=None,key=None,reverse=False)将返回一个新的list,不会改变原来的可迭代对象。T3.导入random标准库,执行print(random.randrange(2,20,2))语句,可能输出的结果是()。251320random.randrange([start,]stop[,step

c++ - 我应该对所有东西都使用智能指针而忘记经典的普通指针吗?

我已经使用C++很长时间了,非常清楚分配和释放内存时的谨慎性,尤其是不要忘记删除未使用的实例。现在,我最近刚刚使用了boost,但遇到一个问题,我不得不使用智能指针(特别是shared_ptr)。所以,如果我打算使用shared_ptr来解决这个问题,我是否应该使用指向我所有普通指针代码库的智能指针? 最佳答案 您应该谨慎使用智能指针。在考虑内存管理时,它们不是Elixir。循环引用仍然是一个问题。在进行类设计时,始终考虑谁拥有对象的所有权(有责任销毁该对象)。如有必要,用智能指针对其进行补充,但不要忘记所有权。

【刷题】 leetcode 面试题 08.05.递归乘法

递归乘法1题目描述2思路一(返璞归真版)3思路二(二进制乘法器版)4思路三(变态版)Thanks♪(・ω・)ノ谢谢阅读下一篇文章见!!!1题目描述来看题目描述,真可谓大道至简的描述啊。让我们不使用*来实现乘法运算。2思路一(返璞归真版)首先我就想到了乘法的加法表示:A*B=B个A相加。也可得到递推公式:A*B=A*(B-1)+A我们很容易就可以构造出递归算法intmultiply(intA,intB){ //B为1直接返回Bif(B==1)returnA;returnA+multiply(A,B-1);}来看运行效果:3思路二(二进制乘法器版)接下来我们换一种方法,大家一定记得小时候计算乘法的

10|面试即正义第二期:常见的动态规划面试题串烧

在前面的课程中,我们使用动态规划解题模板(套路),解决了多种类型的动态规划算法问题。这其中包括背包问题、子数组问题和子序列问题等,它们绝大多数都属于求最优解(最大值和最小值)类型的问题。除此之外,我们还需要掌握另外两大类型的动归问题,它们分别是求方案总数以及求可行性(True或False)。虽然这两类动归问题的提法不同,但我们仍然可以使用之前总结的动态规划解题模板(套路),只需稍作调整就可以了。那这样的话,我们今天的课程目标也就非常清晰了,就是把这两类典型的动态规划问题弄明白。现在,就让从最简单的题目开始吧!简单的路径规划路径规划问题是十分常见的动态规划面试问题,这类问题通常都是模拟现实中的路

排序算法经典模型: 梯度提升决策树(GBDT)的应用实战

目录一、Boosting训练与预测二、梯度增强的思想核心三、如何构造弱学习器和加权平均的权重四、损失函数五、梯度增强决策树六、GBDT生成新特征主要思想构造流程七、梯度增强决策树以及在搜索的应用7.1GDBT模型调参7.1.1框架层面参数n_estimatorssubsample7.1.2分类/回归树层面参数最大特征数max_features决策树最大深度max_depth部节点再划分所需最小样本数min_samples_split叶子节点最少样本数min_samples_leaf7.2K折交叉验证找到最佳超参数交叉验证的优点交叉验证的缺点基于k折交叉验证的网格搜索法7.3 GBDT在推荐系统

k8s面试题

简述ETCD及其特点?etcd是CoreOS团队发起的开源项目,是一个管理配置信息和服务发现(servicediscovery)的项目,它的目标是构建一个高可用的分布式键值(key-value)数据库,基于Go语言实现。特点:简单:支持REST风格的HTTP+JSONAPI安全:支持HTTPS方式的访问快速:支持并发1k/s的写操作可靠:支持分布式结构,基于Raft的一致性算法,Raft是一套通过选举主节点来实现分布式系统一致性的算法。简述ETCD适应的场景?etcd基于其优秀的特点,可广泛的应用于以下场景:服务发现(ServiceDiscovery):服务发现主要解决在同一个分布式集群中的进

这真的不是八股!经典 MySQL 大数据量查询分页问题

查询分页一般要最少要执行两条SQL语句:SELECTCOUNT(*)FROMtablenameWHEREcolumnName='xx'SELECT*FROMtablenameWHEREcolumnName='xx'limit0,100正常情况下没有问题,但是当数据量非常大的时候,首先count(*)会非常慢这是肯定的,其次分页越多,limit的效率就会越低。比如 limit200000,10,这个等同于数据库要扫描出200010条数据,然后再丢弃前面的200000条数据,返回剩下10条数据给用户,这种取法很明显越往后速度越慢,妥妥的慢SQL。《高性能MySQL》中对这个问题有过说明:分页操作通

Java集合相关面试题

📕作者简介:过去日记,致力于Java、GoLang,Rust等多种编程语言,热爱技术,喜欢游戏的博主。📗本文收录于java面试题系列,大家有兴趣的可以看一看📘相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看📙Java并发编程系列,设计模式系列、goweb开发框架系列正在发展中,喜欢Java,GoLang,Rust,的朋友们可以关注一下哦!文章目录真实面试还原说一说Java提供的常见集合?ListArrayList底层是如何实现的?如何实现数组和List之间的转换用Arrays.asList转List后,如果修改了数组内容,list受影响吗?List用toA

C语言天花板——指针(经典题目)

指针我们已经学习的差不多了,今天我来给大家分享几个经典的题目,来让我们相互学习🏎️🏎️🏎️intmain(){ inta[4]={1,2,3,4}; int*ptr1=(int*)(&a+1); int*ptr2=(int*)((int)a+1); printf("%x,%x",ptr1[-1],*ptr2); return0;}  ​ #includeintmain(){ inta[3][2]={(0,1),(2,3),(4,5)}; int*p; p=a[0]; printf("%d",p[0]); return0;}  ​intmain(){ inta[5][5]; int(*p)[4]