12月6号面试题

安全编码规范-小羊的记录本 目录安全编码规范安全目标数据校验SQL注入OS注入目录遍历攻击XML注入正则注入日志注入敏感数据保护异常暴露敏感信息线程同步、IO操作、反序列化、平台安全线程同步IO操作反序列化平台安全 安全编码规范 安全目标 机密性:数据不被非法访问和窃取 完整性:数据完整,未被篡改 可用性:保护资源在需要时可以访问 数据校验 信任域:一个域包含了一个或者多个组件,不同的域有不同的权限,不同域的组件互不信任 信任边界:域之间的边界 不可信数据:来自信任边界外的数据,比如外部输入数据,第三方输入数据。 信任域A和信任域 阅读详情

Java集合有哪些类和接口

-集合接口:6个接口,表示不同集合类型,是集合框架的基础。

Collection:最基本的集合接口,允许重复的对象,不提供随机访问元素的get方法,访问需要提供迭代器

Set:继承Collection,不允许重复,使用自己内部的排列机制,其余跟Collection完全一样

SortedSet:

List:继承Collection,是有序的Collection,使用此接口可以精确控制每个元素的插入位置,类似于数组,允许重复,以元素安插的顺序房子元素,不会重新排列

Map:一组成对的键-值对象,不允许有重复的Key,拥有自己的内部排列机制

SortedMap:进一步提供关于键的总体排序的Map,根据其键的自然顺序进行排序

-抽象类:5个抽象类,对集合接口的部分实现。可扩展为自定义集合类。

-实现类:8个实现类,对接口的具体实现。

LinkedList:实现List接口,允许null元素,提供额外的get,remove,inset方法在LinkedList的首部或尾部

ArrayList:可变大小的数组,允许所有元素,包括null

HashSet:实现Set接口,由哈希表支持,不保证set的迭代顺序

LinkedHashSet:具有可预知迭代顺序的Set接口的哈希表和链接列表实现,维护着一个运行于所有条目的双重连接列表,定义了迭代顺序

TreeSet:基于TreeMap的NavigableSet实现,使用元素的自然顺序对元素进行排序,或者根据创建set时提供的Comparator进行排序

WeakHashMap:以弱键实现的基于哈希表的Map。

TreeMap:根据其键的自然顺序进行排序,或者根据创建映射时提供的Comparator进行排序

HashMap:基于哈希表的Map实现

另:

如果涉及到堆,栈,队列等操作,考虑用List,要进行大量随机访问,用ArrayList,经常进行插入删除操作,用LinkedList

HashMap快速访问,TreeMap保持键始终处于排序状况,没有HashMap快,LinkedHashMap保持元素插入顺序,通过散列提供了快速访问能力,对应于Set也是类似

 

 

软件设计模式有几种?

软件设计模式主要分为:创建型模式,结构型模式和并发型模式

创建型模式:

抽象工厂:为一个产品族提供统一的创建接口,当需要这个产品族的某一系列的时候,可以从抽象工厂中选出相应的系列创建一个具体的工厂类

工厂方法:定义一个接口用于创建对象,但是让子类决定初始化哪个类

生成器模式:讲一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示

惰性初始模式:推迟对象的创建,数据的计算等需要消耗较多资源的操作,只有在第一次访问的时候执行

对象池模式:通过回收利用对象避免获取和释放资源所需的昂贵成本

原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象

单例模式:确保一个类只有一个实例,并提供对该实例的全局访问

多例模式:确保一个类只有命名的实例,并提供对这些实例的全局访问

资源获取为初始化:通过绑定到合适对象的生命周期来确保资源被适当地释放

结构型模式

适配器模式:将某个类的接口转换成客户端期望的另一个接口表示。适配器模式可以消除由于接口不匹配所造成的类兼容性问题。

桥接模式:将一个抽象与实现解耦,以便两者可以独立的变化

组合模式:把多个对象组成树状结构来表示局部与整体,这样用户可以一样的对待单个对象和对象的组合。

修饰模式:向某个对象动态地添加更多的功能。修饰模式是除类继承外另一种扩展功能的方法。

外观模式:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

享元:通过共享以便有效的支持大量小颗粒对象。

代理:为其他对象提供一个代理以控制对这个对象的访问。

行为型模式

黑板:广义的观察者在系统范围内交流信息,允许多位读者和写者。

责任链:为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它。

命令:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。

解释器:给定一个语言, 定义它的文法的一种表示,并定义一个解释器, 该解释器使用该表示来解释语言中的句子。

迭代器提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。

中介者:包装了一系列对象相互作用的方式,使得这些对象不必相互明显作用,从而使它们可以松散偶合。当某些对象之间的作用发生改变时,不会立即影响其他的一些对象之间的作用,保证这些作用可以彼此独立的变化。

备忘录:备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捉住,并外部化,存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。

空对象:通过提供默认对象来避免空引用。

观察者模式:在对象间定义一个一对多的联系性,由此当一个对象改变了状态,所有其他相关的对象会被通知并且自动刷新。

规格:以布尔形式表示的可重绑定的商业逻辑。

状态:让一个对象在其内部状态改变的时候,其行为也随之改变。状态模式需要对每一个系统可能取得的状态创立一个状态类的子类。当系统的状态变化时,系统便改变所选的子类。

策略:定义一个算法的系列,将其各个分装,并且使他们有交互性。策略模式使得算法在用户使用的时候能独立的改变。

模板方法:模板方法模式准备一个抽象类,将部分逻辑以具体方法及具体构造子类的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。先构建一个顶级逻辑框架,而将逻辑的细节留给具体的子类去实现。

访问者:封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改,接受这个操作的数据结构可以保持不变。访问者模式适用于数据结构相对未定的系统,它把数据结构和作用于结构上的操作之间的耦合解脱开,使得操作集合可以相对自由的演化。

并发型模式

主动对象、阻碍、双重检查锁定、守卫  、领导者/追随者、监测对象模式、读写锁、调度、线程池模式、线程特定存储、反应器

 

 

if(username.equals(“abc”))

username可能为空,调用equals方法可能抛出空对象错误,改为”abc”.equals(username)则不存在这个问题了

 

int x=1;

return  x==1?true:false;

语句冗余,直接访问x==1则可以实现如上的效果

 

 

对于一个表

 

 

A

B

1

50

2

60

 

如果变为

 

A

B

C

1

50

Fail

2

60

Pass

 

alter table test add C char(20);

update test set C=

case

when b>=60 then ‘true’

when b<60 then ‘false’

end;

 

 

对于一个表:

 

ID

主叫号码

被叫号码

通话开始时间

通话结束时间

1

123

111

10:30:58

10:37:30

2

213

111

10:40:50

10:43:30

3

123

111

10:50:10

10:55:10

4

213

111

10:51:50

10:52:10

 

求某个主叫号码两次通话间隔大于10s的id号

select * from test a, test b

where (a.phone=b.phone)

      and(a.id<b.id)

    and ((b.beginTime-a.endTime)>10);

(存在问题)

 

 

对于一个数组int[]   abc={1,2,3,4,65,32,15,34}

求其中两数相加等于M的组合

 

最简单的解法

for(int i=0;i<arr.length;i++)

      for(intj=i+1;i<arr.length;i++)

           if(arr[i]+arr[j]==M)

                 print(arr[i],arr[j]);

完整解法链接:http://blog.youkuaiyun.com/v_JULY_v/article/details/6419466

 

 

String和StringBuild的区别

String:String是不可变对象,在每次对String类型进行改变的时候其实都等同于生成了一个新的String对象,然后将指针指向新的Srting对象,所以经常改变内容的字符串最好不要用String,因为每次生成对象都会对系统性能产生影响

StringBuffer:每次结果都会对StringBuffer本身对象进行操作,而不是生成新的对象,是线程安全的可变字符序列,可将字符串缓冲区安全地用于多个线程,可以在必要时对这些方法进行同步

StringBuilder:JDK5.0新增加的类,优先使用该类,不支持同步,所以速度更快

 

 

2018年12月黑马程序员面试题详细解析 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。在Python中定义一个函数使用def关键字。示例代码:print(greet("Alice")) # 输出:Hello, Alice!参数说明:def关键字用来定义函数。greet是函数名。name是函数的参数。return语句用来返回函数的结果。 阅读详情

相关推荐

Java安全编码课件

Java安全编码课件 SQL Injection Cross Site Scripting (XSS) HTTP Response Splitting Command Injection Path Manipulation Cross Site Request Forgery (CSRF) Access Control Insecure Randomness Password Management Race Conditions Error Handling Code Quality Left Over Debug Code: Encapsulation Misconfiguration: Environment

安全测试-I/O流输入

临时文件使用完毕应及时删除 不要将Buffer对象封装的数据暴露给不可信代码 在多用户系统中创建文件时指定合适的访问许可,以防止未授权的文件访问 当一个外部进程通过其输出流对外输出信息或错误时,必须及时清空其输出流,以防止输出流中的缓冲区被耗尽 而导致外部进程被阻塞。 白名单控制共享目录操作文件权限,比如读/写/可执行权限 ...

天道酬勤 685

华为代码编写规范

¹1-1:程序块要采用缩进风格编写,缩进的空格数为4个 说明:对于由开发工具自动生成的代码可以有不一致。

JAVA科目二

科目二复习资料

oocharlesxx_test的博客 3079

java编码规范(命名规范、注释规范、缩进排版规范、文件名规范、声明规范、语句规范以及编程规范)

Java开发中所要遵守的编码规范大体上有如下7点。命名规范、注释规范、缩进排版规范、文件名规范、声明规范、语句规范以及编程规范。

华为java安全编码规范考试3.1.md

华为java安全编码规范考试3.1 血与泪整理除的答案,当前时间保证是最新的,基本所有题都能找到。有几题答案没写出来,但是写了所有的错误答案…………排除法

Java编程规范

《Java编程规范学习笔记》 命名: 为包、类、方法、变量取一个好名字,使代码易于理解 禁止使用魔鬼数字 常量命名,由全大写单词组成,单词间用下划线分隔,且使用 static final修饰 变量、属性命名,使用名词,并采用首字母小写的驼峰命名法 方法的命名,用动词和动宾结构,并采用首字母小写的驼峰命名法 类和接口的命名,采用首字母大写的驼峰命名法 包的命名,由一个或若干个单词组成,所有的字母均为小写 数组声明的时候使用 int[] index,而不要使用 int index

weixin_43774759的博客 3458

Clipper库中文帮助文档

引言: 第一次接触Clipper,主要是想用来处理DXF中的图形,网上也有博友翻译过,但是可惜打不开,好像那个网站https://love2.io凉凉了,但是优快云上也有博友分享了CHM,看着只剩3个下载币的我好无奈,一怒之下花费两天的时间将英文CHM也翻译了一遍,主要还是想在翻译的同时好好的理解Clipper,为使用打下坚实的基础。当然我也会无私的奉献出来。 简单的认识一下Clipper:...

zefllj的博客 3422

如何在Java开发中,更加安全的编码?这是一个问题

写在前面 目前处于互联网时代,任何信息的传播都离不开网络的环境。而Java又作为互联网时代的第一语言,如何更规范的编码,使在程序开发中更加安全的运用,就是老生常谈的互联网安全问题之一。 今天,笔者就为大家带来整理的Java开发中的安全编码问题,只是笔者个人见解,有哪里不完善的地方,请各位大佬多多指出,笔者和大家一起进步学习~~~ 输入校验 编码原则:针对各种语言本身的保留字符,做到数据与代码相分离。 SQL 注入防范 严重性高,可能性低。 (1) 参数校验,拦截非法参数(推荐.

python6_quanzhan的博客 554

三个原则判定电源环路稳定性

环路稳定性测试接线图如图2所示,将信号电阻(Inserted Resistor )接入电源的环路控制电路中,注入一特定幅度和频率范围的扫频干扰信号(OUT),当干扰信号达到一定的幅度时,环路系统便对干扰信号有所响应,然后使用频率响应分析仪对电源环路输出端(CH2)和电源环路干扰信号注入端(CH1)同时进行比值跟踪测量,则可以得出频率与增益和相位的关系曲线图——波特曲线图(Bode Plot Graph),如图1所示。相位裕度,增益裕度,穿越频率,如图(波特图)所示。相位容限即相位裕度,增益容限即增益裕度。

经营范围: CTA、SRRC、CCC、移动、电信、联通入库 3739

从零到一:DETR模型在自定义数据集上的实战部署与调优

本文详细介绍了DETR模型在自定义数据集上的实战部署与调优过程,包括环境准备、数据转换、模型配置、训练技巧及问题排查。通过具体代码示例和实用建议,帮助开发者高效完成从零到一的DETR模型部署,特别适合目标检测领域的实践应用。

weixin_42524100的博客 463

12月28号面试题分析整理

12月27号面试题分析整理12月27号面试题分析整理一.jsp的九大内置对象和作用二.get和post请求的区别三.转发的重定向的区别(页面跳转)四.session的作用和原理五.session的三种销毁方式六.cookie是什么?如何使用七.jsp四大范围八.禁用cookie后,如何让session继续能使用(url重写)九.servlet的生命周期十.servlet常用的api十一.servlet的两种映射十二.多重映射十三.过滤器的执行过程十四.servlet的加载前段时间错题整理1.是否可以从一个

OMisakiQ的博客 228

AI视频生成提示词工程:结构化公式与实战案例详解

在实际使用 AI 生成视频或图像时,最常遇到的困惑是:为什么我的提示词(Prompt)生成的画面总是不理想?是模型能力不足,还是我的描述有问题?答案往往是后者。提示词工程(Prompt Engineering)并非简单的“翻译”需求,而是一门需要结构化思维和精准描述的技能。它决定了 AI 能否准确理解你的意图,并生成符合预期的视觉内容。 本文将通过两个核心案例,深入拆解提示词的构建逻辑。第一个案例聚焦于“文生视频”,我们将学习如何将一个简单的想法,如“小猫在雪地里玩雪球”,通过结构化公式扩展为一段富有细节和

weixin_30800987的博客 563

12月30号面试题整理

12月30号面试题整理1.jQuery 的概念2.jQuery 和js的对比3.jQuery的执行时机4.Ajax概念5.Servlet是线程安全的吗? 1.jQuery 的概念 jQuery是一个快速、小巧且功能丰富的JavaScript库。它使HTML文档遍历和操作、事件处理、动画和Ajax等操作变得更加简单,并具有易于使用的API,可以在多种浏览器中工作。并且具有多功能性和可扩展性。 2.jQuery 和js的对比 jquery的浏览器兼容性好于js jquery灵活性好于js jquery比js简

OMisakiQ的博客 204

YOLOv8全网首发:CVPR2026 MixerCSeg | DEGConv方向引导边缘门控,破解细长裂缝检测难题

DEGConv通过方向先验嵌入、边缘增强卷积和动态门控三大机制,针对性解决了YOLO在处理裂缝类细长、多方向、低对比度目标时的特征提取不足问题,显著提升了裂缝检测的精度与鲁棒性。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 518

【OCPP】ocpp1.6协议3.3章节:功能配置文件及接口

Smart Charging Profile中定义了4个接口请求,即GetCompositeSchedule、ClearChargingProfile、SetChargingProfile和ClearCache等。Smart Charging: 包含智能充电相关的功能,如计划充电,报告充电计划,并改变充电速度。Core: 包含电动汽车充电相关的基础功能,如启动和停止充电,更改充电配置,报告充电状态等。Reservation: 包含预约服务相关的功能,如创建,取消和更改预约。

qq_53871375的博客 2171

猫头虎分享2023年12月17日博客之星候选--城市赛道博主文章数据

[2023-12-17]2023博客之星候选--城市赛道.在这篇文章中,我深入分析了这些博主的创新思维和独特见解,同时探讨了城市赛道最新的趋势和发展动态。我特别强调了技术创新在城市规划和发展中的重要作用,并通过对比分析展示了这一领域的多样性和潜力。无论您是对技术充满热情的爱好者、行业内的专家,还是对城市规划感兴趣的研究者,我的文章都将为您提供丰富的知识和新鲜的灵感。加入我,一起探索城市赛道领域的奥秘,发掘博客之星候选中的精华所在。

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 2031

VIVADO IP核之FIR插值器多相滤波仿真

网络上有许多文章介绍FIR低通滤波器的使用,包括仿真。关于FIR低通滤波器的使用,我之前的文章已经介绍过了,本文将继续深入介绍FIR插值器多相滤波的使用方法,并将FIR插值多相滤波的结果与MATLAB仿真计算的结果比较,验证了FIR插值器多相滤波使用正确。

m0_66360845的博客 3382

2022年12月面试题整理

十二月份面试题整理

qq_45246377的博客 1188

10、GPU发展历程:从光线追踪到网格着色器的技术革新

本文回顾了GPU的发展历程,重点探讨了从光线追踪到网格着色器的技术革新。涵盖了DirectX 12时代(2015-2020)光线追踪与AI结合的突破,包括NVIDIA的Volta架构、DLSS技术原理及可变速率着色的应用。随后介绍了DirectX 12 Ultimate时代(2020)网格着色器的引入,分析了其计算模型、细粒度控制能力及跨平台优势。最后总结了着色器的演变及GPU在多个领域的广泛应用。

ol789012345的博客 185

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

广州地区12月份前端开发真实面试题---部分附带照片

前言 最近在找工作,所以进了一些同样找工作的群,发现群友发的面试题都相对大同小异,如果只考理论或笔试,把这篇理解透都没有太大问题。这里并不打算展开介绍,主要是方便自己记忆写的,如果看不懂可以把题目拿去自己研究也一样。 重复率较高的面试题 1. typeOf与instanceOf的区别 相同点:都用用来判断一个变量是否为空,或者是什么类型 不同点:typeOf返回值是一个字符串,该字符串说明运算数的的数据类型。 instanceOf是判断一个实例是否属于某种类型 2.清除浮动的方法 额外标签法clear

weixin_47886687的博客 2077

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

刷Java面试题—12月刷题历史

下面是我这个月以来刷题的错题和难题汇总记录,一部分是转载一部分是自己总结 牛客 JAVA 12.2 1.重载和重写 1.重载和重写 ​ 首先,重载和重写都是多态的一种体现方式。重载是编译期间的活动,重写是运行期间的活动。 ​ 其次,重载是在一个类中定义相同的名字的方法,方法的参数列表或者类型要互相不同,但是返回值类型不作为是否重载的标准,可以修改可见性; ​ 重写是不同的,要求子类重写基类...

Zebras_zhku的博客 2513

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

秋招面试题系列- - -Java 工程师(一)

内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Linux等技术栈。

退役复学在校大学生,目光所至,皆为华夏 11万+

2023年12月记录内容管理

这里是对2023年12月优快云学习记录的内容管理。便于快速跳到所要查看的内容文章。学编程两年了,直到今年12月才开始坚持记录、学习,有时候很是焦虑、总觉得自己还什么都不会,要学的实在是太多,可是回头想想,我学计算机也才两年,确定前端方向,学习前端相关技能、找实习也才一年。这也并不能很好的自慰,不会就是不会,只有不断去学习、刻意训练掌握。愿2024年更好!

守灯者的博客 1302

假如你从12月27号开始自学大模型

假如你从12月27号开始学习ai大模型,最快多久能学会?七天。首先根据我这个学习计划,每天花个3小时从大模型基础知识开始学习。接着学习提示词工程、模型推理、训练、评估、量化和部署实战。跟着这个教程来不怕学不会。整个学习路线图与资料都已经打包好。😝朋友们如果有需要的话,可以V扫描下方二维码联系领取~

2401_85373691的博客 677

QQ号也能改了?!

点击上方 "程序员小乐"关注,星标或置顶一起成长后台回复“大礼包”有惊喜礼包!关注订阅号「程序员小乐」,收看更多精彩内容每日英文Don't expect too...

程序员小乐 583
上一篇: 12月3号面试题记录
下一篇: 开始记录工作中遇到的一些技术问题
rain_bow_iris
博客等级 码龄18年 0粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值