笔试题整理(一)

牛客刷题记录(常见笔试题) 牛客刷题记录(高频笔试题目) 阅读详情

本次题目出自某大型安全公司(开发岗(只招985,211))笔试题:
在这里插入图片描述
扩展知识:
运行时异常(RuntimeException):在程序运行的时候就会出现的异常
1.NullPointerException:空指针异常
2.indexOutofBoundsException:索引超出了范围
3.ArrayIndexOutOfBoundsException:数组索引越界
4.NumberFormatException:数值转换异常
5.ClassCastException:类型转换异常
6.ArithmeticException:算数异常

编译时异常:在编译时期就显式的通知程序猿必须处理
ClassNotFoundException:未找到类的异常
IOException:IO异常
所以应该选B

在这里插入图片描述
首先频繁进行插入删除,A肯定要排除,因为ArrayList的插入删除效率很低。其次要求有序,所以应该为B.

在这里插入图片描述
首先排除A因为判断是空串要用equals方法,再看B项,首先s.equals就不正确,因为我们并不知道s是不是null,如果这样书写可能会出现空指针异常所以排除,再看C项C正确,D项可以代入几个值去就可以发现逻辑错误。

在这里插入图片描述
首先interfatce是可以被继承的,B项中并非所有的方法都是抽象的,抽象类的方法可以不是抽象的。CD都正确。

在这里插入图片描述
我感觉大家一开始学的时候肯定都知道HashMap是线程不安全的。而在B项中启动线程应该是start()方法,run()方法是线程的方法体。C项中synchronized可以修饰实例方法,可以修饰静态方法,可以修饰代码块但是并不能修饰变量。
线程的状态:1.新建(new)2.就绪状态(runnable)3.运行状态:running
4.阻塞状态(blocked)5.结束状态(dead)

在这里插入图片描述
理论上一共有四种方法(不过有一种方法只能遍历出value所以我就不写了):
先给一个map集合,这里我就不每种都跑一下了,有兴趣的伙伴可以自己把代码粘贴到自己的IDE里面去跑,或者自己尝试着写一下

Map<String,String> map = new HashMap<String,String>();

map.put("姓名","张三");
map.put("年龄","20");
map.put("体重","85");

第一种:

 for(Map.Entry<String,String> entry:map.entrySet()){
            System.out.println(entry.getKey()+entry.getValue());
 }

第二种:

for(String key:map.keySet()){
            System.out.println(key+map.get(key));
        }

这种方式直接单独遍历其key值和value值

第三种:

Iterator<Map.Entry<String,String>> entries = map.entrySet().iterator();
           while (entries.hasNext()){
               Map.Entry<String,String> entry = entries.next();
               System.out.println(entry.getKey()+entry.getValue());
           }

在这里插入图片描述
这个问题首先有两种思路:
一种是将这1000个数字加起来而后减去1-999相加的和,那么就可以求出来到底是哪一个数。另一种是先新创建出来一个新的数组,将原来的数一个一个取出来,放入指定的下标,当然了放之前先看看这个位置是否有元素,如果有的话就说明这个元素是重复的。
首先第一个方法是求和然后求出:这里我就省点事直接在主函数里面写了,如果你想好好归纳下,那就自己总结一下

public class FindNumberBySum {

    public static void main(String[] args) {
        ArrayList<Integer> arrayList = new ArrayList();
        int limit = 1000;
        for(int i = 1;i<limit;i++){
            arrayList.add(i);
        }
        //在数组里面添加一个重复的元素5
        arrayList.add(6);

        //定义arraylist的和
        int sum = 0;
        for(int j:arrayList){
            sum+=j;
        }

        int suma = 499500;

        int result = sum - suma;
        System.out.println("重复的数字是"+result);

    }

}

而后第二个方法就是根据比较数组中的元素:

public class FindNumberByArray {

    public static void main(String[] args) {
        ArrayList<Integer> arrayList = new ArrayList();
        int limit = 1000;
        for(int i = 1;i<limit;i++){
            arrayList.add(i);
        }
        //在数组里面添加一个重复的元素5
        arrayList.add(6);
        int[] arr = new int[999];

        for(int i:arrayList){
            if(arr[i-1] == 0){
                arr[i-1] = i;
            }else {
                System.out.println("重复的数是"+i);
            }
        }
    }

}

这里提醒一下,sql查询的题目非常重要,我当时就因为联合查询不是很好错过了一次机会,当然了虽然就算那个公司要我我也不会去的,哈哈,积累面试经验
在这里插入图片描述
在这里插入图片描述
1.
我的sql真的很差,一般我都是去百度写的,最近真的是没办法了,自己也在好好练,孰能生巧,其实我有时候也知道原理只不过自己总是理不清。

SELECT id,sname,cname,score FROM T_Score sc LEFT JOIN T_Student s ON sc.sid = s.id LEFT JOIN T_Course c ON sc.cid = c.cid
SELECT id,sname,AVG(score) FROM t_score sc LEFT JOIN t_student s ON sc.`sid` = s.`id` GROUP BY sid

delete删除的时候就是一条一条的删除记录,它可以配合事务,将删除掉的数据找回——rollback。

truncate删除,是将整个表摧毁,然后再创建一张一模一样的表,它删除的数据将无法找回。

delete删除的id不会重置,比如我们将主键设置为自增类型用delete删除后id不会重置,而会在原来的基础上继续增加。再使用truncate操作后id会重置,因为它删除了原本的表结构又重构了一张一模一样的表,所以再次插入数据的时候就从1开始。

数据库索引是对数据库表中一列或者多列的值进行排序的一种结构。用数据库索引是为了提升检索速度,加速表与表之间的链接。
遵循的原则
1.表的主键,外键必须有索引;
2.数量超过300的表应该有索引;
3.经常与其他表进行链接的表,在链接字段上应该建立索引;
4.经常出现在Where子句的字段,特别是大表的字段,应该建立索引;
5.索引应该建立在选择性高的字段上面;
6.索引应该建立在小字段上面,对于大的文本字段甚至超长字段,不要建立索引;
7.建立符合索引的时候要进行仔细的思考,尽量用单字段索引代替;
8.频繁进行数据操作的表,不要建立太多的索引;
9.删除无用的索引,避免对执行计划造成负面影响;

在这里插入图片描述
在使用Log4j输出日志的时候,error(Object obj)只传入一个参数的时候作为异常对象作为Object使用,并且最终作为String打印出来,当使用两个参数error(String message,Throwable t),且第二个参数为Throwable时,才将完整的异常堆栈打印出来

在这里插入图片描述
当bean的scope为singleton时,Spring容器仅创建一个对象,当下次获取的时候还是第一次创建出来的对象,且获取的对象引用也相同。当使用 == 符号判断两个获取的对象时,得到的结果为true。

当bean的scope为prototype是,Spring容器在用户获取该对象是创建一个新的对象。每次获取都创建一个全新的对象给用户操作。

在这里插入图片描述
isNotNull用于判断参数是否不为Null,不为null的时候,执行标签体内部的语句。

isNotEmpty用于判断参数是否同时不为null或者空串,当参数既不为Null也不是空的时候为true,判断之后再做相应的表达式的操作。

在这里插入图片描述
Spring是一个一站式轻量级的Java框架,它的核心是IOC控制反转(用于管理对象的生命周期和对象之间的关系)和AOP的面向切面编程(将主线业务与一些功能性代码分离)。
SpringMVC是Spring基础之上的一个MVC框架,主要用于代替项目中的控制层,主要处理Web开发的路径映射和视图渲染。
SpringBoot是整合三方的常用框架的东西,简化了很多的配置,默认的东西大于配置,简化了配置流程,内置Http服务,命令方式启动项目。
SpringCloud是基于SpringBoot服务的,与其说是一种技术或者框架更不如说是一种思想,主要是更加关注于全局微服务的整合和管理,相当于管理多个SpringBoot框架的单体微服务。

在这里插入图片描述
Filter是过滤器,实际应用的时候,可以完成以下任务:
1.访问特定的资源的时候的身份认证
2.访问资源的审核和记录
3.对资源的加密访问
4.对被访问资源的及时转换

listener是监听器
ServletContextListener 这个方法只能监听ServletContext的创建和销毁的方法。

ServletContextAttributeListener
这个监听器可以监听ServletContext中属性的添加,删除和替换。

HttpSessionListener
这个监听器可以监听session的创建和销毁

在这里插入图片描述

属性说明
name=value键值对,可以设置要保存的Key./Value
Domain域名,默认的是当前域名
maxAge最大失效时间(毫秒),设置在多少后失效
secure当secure的值为true的时候,cookie在HTTP中无效,在HTTPS中才有效
Path表示cookie影响到的路径,如path=/。如果路径不能匹配的时候,浏览器不发送这个Cookie
Expires过期时间(秒),在设置某个时间点后该Cookie会失效,如expires=Money,05-Dec-11 22:22:22 GMT
httpOnly如果在COOKIE中设置了httpOnly属性,则通过程序(JS脚本)将无法读取到COOKIE信息,防止XSS攻击

在这里插入图片描述
$(".btn1")
$(“input:first”)
$(“div>input:first”)
我的JQuery和vue一向不是很好,所以这里我就大概写了下

在这里插入图片描述
这道题的思路是,第一箱取出1个罐头第二箱取出来两个所以最后一共是取出来了55个罐头,如果全部是正品的话应该是应该是55x50=2750克,这时候就只需要称一下你取出来的所有罐头的重量,少多少个55-45=5克就是那一箱有问题。

在这里插入图片描述
首先分析思路:每次都要必须持有手电筒,所以这里分析出来两人过桥必须以慢的为准,其次必须要在过桥后有人将电筒带回来照明。

所以一开始甲乙先过桥是2分钟(两个人过桥以慢的为准)
而后甲带手电筒回来要1分钟
而后丙丁过桥要7分钟
而后乙带手电筒回来要2分钟
而后甲乙又同时过桥要2分钟
所以一共要2+2+2+1+7=14分钟

在这里插入图片描述
可以知道有三个人带了黑色的帽子,首先如果只有一个人带着黑色的帽子,那么他肯定要拍手了。但是没有拍手所以可以肯定不仅仅一个人戴着黑色的帽子。第二次开灯,如果仅仅有两个人戴着黑色的帽子,那么其中一个戴着黑色帽子的人看到其他人之中仅仅有一个戴着黑色帽子,肯定知道自己头上也是黑帽子不然对方第一次就该拍手了,所以可以推测出来自己头上肯定也是黑色的帽子。而后第三次开灯关灯,之所以有人拍手,肯定是因为带黑帽子的人肯定从第二次开灯的时候他眼睛里面仅有的两个带黑色帽子的人没有拍手,所以肯定自己头上也是黑色帽子,所以一共有三顶黑色的帽子。

在这里插入图片描述
2^10=1024,所以最少只需要10个人就可以试出来毒酒,
我们给10个死刑犯看成十位二进制数
0000,0000,00

假如第一瓶毒酒我们就给最后一个人喝就是
0000,0000,01
假如第200瓶
0011,0010,00
第1000瓶:
11,1110,1000

最后等24个小时我们就知道到底哪一瓶里面有毒了。

2023前端开发面试笔试题(一) 自整理题库收藏共勉(不断更新) 简述diff算法过程 答:执行diff算法就是调用patch函数,比较新旧节点,然后不断给真实的DOM打补丁。patch函数接收两种参数,vnode和oldVnode,两个参数分别代表了新节点和旧节点。此时用到了sameVnode(oldVnode, vnode),如果返回的是true,那么就执行patchVnode,如果返回的是false,那么就将vnode替换oldVnode,将新节点替换给旧节点。 阅读详情

相关推荐

零基础搭建机械零件检测系统:基于YOLOv8的PySide6可视化开发全攻略

本文详细介绍了如何从零开始搭建基于YOLOv8的机械零件检测系统,涵盖环境配置、数据集准备、模型训练优化及PySide6可视化界面开发全流程。通过实战案例展示YOLOv8在工业检测中的高效应用,帮助开发者快速实现自动化零件检测解决方案。

weixin_28455801的博客 309

100条经典C++笔试题目及答案分享

100条经典C++笔试题目分享一、C++与C差异(1-18)二、数据类型、关键字(19-37)三、C++面向对象的特性(38-61)四、程序阅读题(62-90)五、编程练习(91-100) 看到好用的经典C++题目,对机试和笔试,甚至面试都有帮助,特意分享,自己也复习一遍,互勉。 题目来源: 1、中兴、华为、慧通、英华达、微软亚洲技术中心等中外企业面试题目; 2、C++面试宝典(林锐《高质量编程第...

Penn Li的博客 8万+

IGBT单管并联方案全解析:从均流设计到热管理实战技巧

本文深入解析了IGBT单管并联技术在新能源车电驱系统中的应用,重点探讨了均流设计与热管理实战技巧。通过优化寄生电感控制、动态均流和驱动电路设计,提升系统稳定性和效率,为工程师提供了一套完整的解决方案。

weixin_28720573的博客 441

java经典笔试题大全(50道含答案)

接口:一个接口允许一个类从几个接口继承而来,Java 程序一次只能继承一个类但可以实现几个接口,接口不能有任何具体的方法,接口也可用来定义可由类使用的一组常量。答:因为类A、B不是接口,所以是不可以直接继承的,但可以将A、B类定义成父子类,那么C类就能实现A、B类的功能了。A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过。3、如果有两个类A、B(注意不是接口),你想同时使用这两个类的功能,那么你会如何编写这个C类呢?

seeseeyoua的博客 3万+

幸狐RV1106开发板运行Yolo8示例

rknn_model_zoo 是瑞芯微官方提供的 RKNPU 支持的各种主流算法的部署示例,目前对 Luckfox Pico 所使用的 RV1103/RV1106 有限支持,最新的示例支持 mobilenet 模型部署和 yolo 模型部署,本章以部署 yolov8修改版本为例介绍 rknn_model_zoo 示例的使用。:可选项,用于指定 RKNN 模型的保存路径,默认保存在 ONNX 模型同一目录下,名称为 ‘yolov8.rknn’例如“rv1106”。

qq_42730522的博客 3224

Polyworks宏脚本开发入门:5分钟搞定环境搭建与基础命令录制

本文详细介绍了Polyworks宏脚本开发的入门指南,包括环境搭建、基础命令录制和核心对象操作。通过5分钟快速启动开发模式,掌握自动化操作流程和脚本调试技巧,帮助工程师高效完成工业测量与三维检测任务。

weixin_29306875的博客 536

初识block

本文转自破船的博客: 小引 本周末微博上朋友发了一个关于block的MV,只能说老外太逗了。大家也可以去看看怎么回事:Cocoa Got Blocks。虽然之前也有接触过block,不过没有深入完整的学习过,借此机会来学习一下,顺便翻译几篇block相关的文章,本文是第一篇,算是block的入门。本文的最后延伸阅读给出了4篇相关文章,不出意外的话,本周大家能看到对应的中文版。  

xxc的专栏 1572

华为防火墙双线路配置实战:5分钟搞定主备自动切换(含健康检查避坑指南)

本文详细介绍了华为防火墙双线路配置实战,包括主备自动切换和健康检查机制的优化技巧。通过智能健康检查机制,华为防火墙能实现毫秒级故障自动切换,确保网络高可用性。文章提供了从架构设计到实战配置的全流程指南,并分享了常见配置误区与解决方案,帮助中小企业快速搭建稳定可靠的网络架构。

weixin_30872337的博客 605

Java笔试题大全(附带答案)

一、单选题 1.下列哪一种叙述是正确的(D) A.abstract修饰符可修饰字段、方法和类 B. 抽象方法的body部分必须用一对大括号{ }包住 C. 声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 2.如下代码 public class Test { public int aMethod() { static int i = 0; i++; return i; } public static void main (String args[]) { Test test = new Test

web13618542420的博客 1万+

详解大模型微调数据集构建方法(持续更新)

本文详细介绍了大模型微调数据集构建方法,希望能对学习大模型的同学们有所帮助。 文章目录 1. 前言 2. 微调数据集构建方法 2.1 方法一 2.2 方法二 2.3 方法三 2.4 方法四 2.5 方法五

herosunly的博客 28万+

PNETLab 镜像包官方下载太慢?不急,最新版本PNET_4.2.10分享!

你好,这里是网络技术联盟站,我是瑞哥。PNETLab是一个强大的网络仿真工具平台,全称Packet Network Emulator Tool Lab。它不仅允许用户进行深入的网络实验,还支持社区成员之间的实验室共享。PNETLab致力于为学习者、教师以及网络工程师提供一个全面的实验环境,以便于他们能够在实际部署前测试和验证网络配置和协议。和。这两个部分相辅相成,共同构成了一个全面且灵活的网络仿真生态系统。

网络技术联盟站 4475

C++ 笔试题整理 一

1、下面的排序算法中,初始数据集的排列顺序对算法的性能无影响的是() A、插入排序 B、堆排序 C、冒泡排序 D、快速排序答案: A (插入排序:最优时间复杂度O(n)最差时间复杂度O(n^2)平均时间复杂度O(n^2) 冒泡排序:最优时间复杂度O(n)最差时间复杂度O(n^2)平均时间复杂度O(n^2)

不忘初心的专栏 1085

大模型系列——一文看懂“提示词” vs “提示词工程” vs “上下文工程”

本文区分了AI领域的三个关键概念:提示词(Prompt)、提示词工程(Prompt Engineering)和上下文工程(Context Engineering)。提示词是直接输入给AI模型的指令文本;提示词工程则是系统化设计、测试和优化提示词的过程;而上下文工程是为AI构建动态上下文,提供恰当信息和工具的科学与艺术。文章通过翻译案例展示了提示词工程的迭代过程,并说明上下文工程在AI Agent中的核心作用——动态收集和组织必要信息。最后强调普通人只需掌握提示词编写,开发AI应用才需深入提示词工程,构建智能

2401_84052244的博客 750

常见C++笔试题整理(一)

本文整理了C++笔试中常见的面试题及解析,涵盖多个重要知识点:1. const指针的不同形式及区别;2. 引用与指针的核心差异;3. 拷贝构造函数与赋值运算符的调用场景;4. 字符串逆序实现;5. 位域结构的内存计算;6. 进程间通信方式;7. 递归实现整数倒序输出;8. 虚函数的多态特性等。同时包含典型编程问题如内存泄漏检查、数组越界防范等,并提供了算法题(如硬币称重)的解决思路。这些题目涉及C++基础语法、面向对象特性、内存管理、位操作等核心概念,适合准备技术面试时查漏补缺。

程序猿老樊的博客 423

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

谷歌笔试题整理(一)

IT名企面试:谷歌笔试题 . 谷歌是不少IT人都想去的企业,笔试和面试是必经之路,如今校园招聘的季节。袭击和整理IT名企经典笔试题是拿到offer的捷径!为此在网络上整理了些很经典的笔试题目和答案,细致阅读必有帮助!! 1.谷歌笔试题:推断一个自然数是否是某个数的平方。当然不能使用开方运算。 如果待推断的数字是 N。 方法1: 遍历从1到N的数字,求取...

weixin_34024034的博客 200

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【笔试题】整理一

1. struct mybitfields  {  unsigned short a : 4;  unsigned short b : 5;  unsigned short c : 7;  }test void main(void)   {  int i;  test.a=2;  test.b=3;  test.c=0; i=*((short *)&test)

言小非的专栏 707

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Java笔试题整理一

1、final, finally, finalize 的区别 final:在java中,final可以用来修饰类,方法和变量(成员变量或局部变量) 修饰类 当用final修饰类的时,表明该类不能被其他类所继承。当我们需要让一个类永远不被继承,此时就可以用final修饰,但要注意: final类中所有的成员方法都会隐式的定义为final方法 修饰方法 final修饰方法意味着“最后的、最...

fangyuwuzhu的博客 180

Java笔试题整理(一)— 20190316

0316 笔试题整理 前言 最近开始刷java笔试题了,于是将一些刷题过程中遇到的错题记录在博客里,以便日后回顾复习,如题目解释中有不足望各位大神批评指正! 1. 代码String str=”123456a”;int i=Integer.parseInt(str);会报异常____________________ 【分析】 parseInt是将字符串参数解析为带符号的十进制整数。 字符串中的字符都...

Alisa_ljn的博客 735

MySQL笔试题整理(一)

小白学习之路,MySQL笔试题重新整理

OrangeTreeTest的博客 686

软件测试笔试题整理汇总(一)(附答案)

【注】:根据网络搜集资料汇总得来,答案或有偏颇,注意批判性采纳。

weixin_44762483的博客 1829

手撕java笔试题之易错题整理(一)

手撕java基础笔试题之易错题总结(一) 今日小日记: 今天刷了30个java笔试题,直接错了5个,心都在滴血,为了记住错题及相关知识点,将五个错题和相关知识点记录下来!然后知识点是根据自己的想法写的可能解释不一定对,如果解释有误,请联系作者 1、对Map的用法 解析:map和sortedMap属于接口,不可以一new的方式创建,HashMap基于Hash表实现Map接口的类,并允许null的值和null的键,TreeMap通过红黑树实现Map接口,Key不可以为null,会报NullPointerExc

程序员小王的博客 727

小红书2020校招数据分析笔试题卷一[题目整理]

1.对于任意事件A、B,有如下( )成立 A.P(AB)<=(P(A)+P(B))/2 B.P(AB)<=P(A)P(B) C.P(AB)>=(P(A)+P(B))/2 D.P(AB)>=P(A)P(B) 标题,有助于目录的生成 Sol: A P(AB) = P(A)*P(A|B) = P(B)*P(B|A) 2 * P(AB) = P(A)*P(A|B) + P(B)*P(B|A) P(AB)<=(P(A)+P(B))/2 3.失语症是指由于神经中枢病损导致抽象信号思维障碍,

weixin_42956279的博客 2707

C++笔试题整理(一)

资料来源:http://blog.youkuaiyun.com/dongfengsun/article/details/1541926 1.已知String类定义如下: class String { public: String(const char *str = NULL); // 通用构造函数 String(const String &another); // 拷贝构造函数 ~

Android系统攻城狮 643

Servlet(一,熬夜整理华为最新Java笔试题

5.再次访问服务器时,客户端请求中就携带着之前保存的Cookie中保存的值,服务器就根据Cookie就能够知道客户端的身份是什么了。 在HttpServletRequest中也可以获取到Cookie的值,getCookies 获取所有的Cookie中的键值对。 在HttpServletResponse中,addCookie方法,往响应中设置Cookie键值对 Cookies 过期时间 有时候保存在浏览器中的用户信息和密码过一段时间就要重新登录,通过setMaxAge 方法给Cookie设置过期时间,浏览器拿

m0_61439820的博客 296
上一篇: 面试题整理(四)
下一篇: 面试题整理(五)(某500-999人规模)软件公司真实面试题
Hercule2016
博客等级 码龄9年 154粉丝 138原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值