315 腾讯测开一面

问题复盘

1.TCP和UDP的区别;网络中七层协议详细解释

2.cookie和session的区别——python中request的用法

3.cookie和session的生命周期

cookie的生命周期:

  • 持久性cookie:如果创建时指定了过期时间(‘Expires’属性),cookie将被保存在客户端的硬盘中,直到达到过期时间。【即使浏览器关闭,这些cookie也会保留下来,直到他们过期或被用户手动删除】
  • 会话性cookie:如果没有设置过期时间,Cookie 将是会话级别的,也就是说它只在当前会话期间有效。这种类型的Cookie存储在内存中,并在用户关闭浏览器时被删除。

Cookie的生命周期可以通过设置ExpiresMax-Age属性来控制。Max-Age属性定义了Cookie从创建开始存在的秒数。如果两者都未设置,Cookie将被视为会话性Cookie。

session的生命周期:

  • 服务器端: Session数据存储在服务器上。Session的生命周期通常由服务器设置和配置控制。一般来说,Session会在用户的会话结束时失效,例如用户关闭了浏览器或者Session超时(由于长时间的不活动)。服务器上通常会有一个超时设置,确定了Session在多长时间的不活动后被销毁。这个超时时间可以在服务器的配置中设置
  • 客户端: 用户端的Session依赖于特殊的Session Cookie(通常是名为JSESSIONID的Cookie,至少在Java环境中是这样),该Cookie用于在服务器和客户端之间保持Session的唯一标识。这个Cookie通常是会话性的,意味着它仅在当前浏览器会话期间有效,并在浏览器关闭时被删除。

4.python中装饰器的理解  python中最常用的库有哪些? list和元组的区别?其他python基础题

装饰器是一种高级的语法,用于修改函数、方法或类的行为,而无需直接修改他们的定义。【个人理解:装饰器可以理解为一个包装函数,它接收一个函数作为参数,并返回一个新的函数,这个新函数通常会在原有函数基础上添加一些新的功能】——装饰器增强了代码的复用性和可读性  【例如:在金融项目中,使用Unittest中的parametrize()参数装饰器,传入读取数据的函数,然后根据传入的参数执行测试用例,可以减少代码的冗余性】

具体来说,装饰器的工作流程如下:

  1. 装饰器本质上是一个接收函数作为参数的函数(我们称之为装饰器函数)。
  2. 装饰器函数内部定义了另外一个函数(我们可以称之为包装函数),这个包装函数会调用原始函数,并在调用前后执行一些附加操作。
  3. 装饰器函数返回包装函数,这样原始函数的调用实际上就变成了包装函数的调用。
  4. 当装饰器应用到某个函数上时(通过在函数定义前使用@装饰器名称的语法),实际上是将该函数作为参数传递给了装饰器函数,并将返回的包装函数替换原始函数。

5.linux一些命令  管道、grep

 grep 文本搜索,查找文件内容

grep hello test.txt			在某个文件中,查找包含hello的内容,只要一行中有hello会把整行显示
grep -n hello test.txt		n显示第几行找到的
grep -v hello test.txt		v反向查找 查找不包含hello的内容行
grep -i hello test.txt		i查找时不区分大小写grep -n hello /home/admin -r	查找整个目录中的所有文件

6.通过管道 | 如果将当前目录下的文件名复制出来?

ls | xclip -selection clipboard

7.数据库中join的用法?

join是一种用于联合多个表的操作,以便根据他们之间的相关字段检索相关数据,join操作可以使得将多个表中的数据组合起来,以便在查询中获取更全面的结果

  • inner join(内连接):返回匹配的两个表之间的关联条件的行,如果两个表中的行在关联条件上没有匹配项,则不会包含在结果集中。
  • left join(左连接):返回左表中的所有行,并包括与右表匹配的行,如果右表中没有匹配项,则结果集中右表的所有列将包含 NULL 值。
  • right join(右连接):返回右表中的所有行,并包括与左表匹配的行。如果左表中没有匹配项,则结果集中左表的所有列将包含 NULL 值。
  • full join(全连接):返回左表和右表中的所有行,如果没有匹配的行,如果没有匹配的行,则结果集中的某些列将包含 NULL 值。
  • cross join:返回两个表的笛卡尔积,即左表的每一行与右表的每一行组合在一起。【暂时未接触过 记得复盘】

8.docker命令?

9.了解数据结构吗?常见的数据结构有哪些?数组和链表两种数据结构?栈用于哪些场景?.....

10.常见的二叉树有哪些?

11.红黑树的用途?

12.常见的设计模式?

13.手撕算法  传入数字,输出添加千分位的格式字符串

例如:input 1000   1000000

          output  1,000        1,000,000

根据上述算法设计测试用例:

正向:

反向:

性能:

兼容性:

安全性:

算法题复盘

如何将int/long/double/char 转化为字符串【复习】


public class TC_test2 {public static void main(String[] args) {// 通用办法 String.valueOf() 可以将多数常用的数据类型转换为字符串// 1.将int转换为字符串int num = 100;String str1 = Integer.toString(num);System.out.println(str1);// 2.将long 转化为字符串long l1 =456579859;String s1 = Long.toString(l1);System.out.println(s1 );String s2 = String.valueOf(l1);System.out.println( s2);// 3.将double转换为字符串double d1 = 132.25;String s3 = String.valueOf(d1);System.out.println(s3);// 4.将char 转换为字符串 也可使用String.valueOf()方法// 5.将字符串转换为字符数组String s5 = "ascgtgh";char[] strArray = s5.toCharArray();for (int i = 0; i < strArray.length; i++) {System.out.print(strArray[i] + " ");}}
}

千位分隔符 例如输入1000 输出1,000

import java.text.DecimalFormat;public class TC_Test1 {public static void main(String[] args) {long num = 1000323;// 调用方法一
//        System.out.println(method1(num));// 调用方法二System.out.println(method2(num));}// 方法一: 使用Java内置方法来实现千位分隔public static String method1(double num){// java.text.DecimalFormat; 类中提供了格式化的功能 其中"#,###"是格式化模式//  "#" 表示一个数字,"," 用作分组(千位)分隔符DecimalFormat df = new DecimalFormat("#, ###");// 使用format方法将数字格式化为带千位分隔符的字符串String str = df.format(num);return str;}// 方法二: 使用普通方法实现public static String method2(long num){// 将数字转换为字符串String numStr = Long.toString(num);// 创建字符串容器 用于存储最终结果StringBuilder result = new StringBuilder();int length = numStr.length();// 从后往前遍历字符串for (int i = length -1 ; i >= 0; i--) {// 计算当前字符距离末尾的距离int distanceEnd = length - 1 - i;// 如果是3的倍数且不是第一个数字,就在当前位置前面加上逗号if(distanceEnd > 0 && distanceEnd % 3 == 0){result.insert(0, ",");}// 将当前数字添加到结果的开头result.insert(0,numStr.charAt(i));}return result.toString();}
}

求两个字符串的最大相同子串

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/749002.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux学习-c项目-俄罗斯方块

目录 vi 操作 printf输出颜色 stty命令 vi 操作 批量修改代码&#xff0c;用一个代码替代另一个代码 &#xff1a;从第几行&#xff0c;到第几行s/string1/string2/g printf输出颜色 linux下终端的字符颜色由转义序列控制&#xff0c;是文本模式下的系统显示功能&#x…

STL:List从0到1

&#x1f389;个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名乐于分享在学习道路上收获的大二在校生 &#x1f648;个人主页&#x1f389;&#xff1a;GOTXX &#x1f43c;个人WeChat&#xff1a;ILXOXVJE &#x1f43c;本文由GOTXX原创&#xff0c;首发CSDN&…

Spring Boot实现热部署有哪几种方式

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:SpringBoot 实现热部署有哪几种方式 Spring Boot实现热部署有几种方式,包括使用Spring Boot DevTools、Spring Loaded、JRebel等工具。以下将详细…

已解决org.apache.zookeeper.KeeperException.BadVersionException异常的正确解冲方法,亲测有效!!!

已解决org.apache.zookeeper.KeeperException.BadVersionException异常的正确解冲方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 目录 问题分析 报错原因 解决思路 解决方法 总结 博主v&#xff1a;XiaoMing_Java 问题分析 在使用Apache ZooKeeper进行…

MySQL-----事务

一 事务简介 事务是一组操作的集合&#xff0c;它是一个不可分割的工作单位&#xff0c;事务会把所有的操作作为一 个整体一起向系统提交或撤销操作请求&#xff0c;即这些操作要么同时成功&#xff0c;要么同时失败。 例如:银行转账 张三 ---(转账1000元)---> 李四 在进行…

.NET开源快速、强大、免费的电子表格组件

今天大姚给大家分享一个.NET开源&#xff08;MIT License&#xff09;、快速、强大、免费的电子表格组件&#xff0c;支持数据格式、冻结、大纲、公式计算、图表、脚本执行等。兼容 Excel 2007 (.xlsx) 格式&#xff0c;支持WinForm、WPF和Android平台&#xff1a;ReoGrid。 项…

while语句的实际应用(2)

3150&#xff1a;【例25.2】 26个兄弟姐妹2 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 6770 通过数: 4845 【题目描述】 26个字母26枝花&#xff0c;26个兄弟姐妹是一家&#xff0c;大写字母与小写字母不分家。试编一程序&#xff0c;按顺序输出26个小写英文…

linux配置大数据环境

linux配置大数据环境 修改主机名 hostnamectl set-hostname xxx配置 yum [rootlocalhost ~]# mkdir /mnt/cdrom [rootlocalhost ~]# df /mnt/cdrom 文件系统 1K-块 已用 可用 已用% 挂载点 /dev/sda3 39517336 7718416 31798920 20% /[rootlocalhost…

Spring Chache入门详解、配套小案例

简介&#xff1a;Spring Cache是一个框架&#xff0c;实现了基于注解的缓存功能&#xff0c;只需要添加一个注解就能实现缓存功能。 Spring Cache提供了一层抽象&#xff0c;底层可以切换不同的缓存实现&#xff0c;如下&#xff1a; EHCacheCaffeineRedis (这篇帖子&#xff…

下载指定版本的pytorch

下载网址&#xff1a;https://download.pytorch.org/whl/torch_stable.html 参考博客网址&#xff1a;https://blog.csdn.net/wusuoweiieq/article/details/132773977

基于C++的反射功能

需求&#xff1a; 利用C的发射机制&#xff0c;实现根据字符串创建实例对象。 代码&#xff1a; #ifndef OBJECT_H #define OBJECT_H#include <string> #include <map>typedef void* (*Constructor)();class CObjectFactory { public:static void registerClass…

分布式链路追踪(一)SkyWalking(2)使用

一、使用方法 1、简介 agent探针可以让我们不修改代码的情况下&#xff0c;对Java应用上使用到的组件进行动态监控&#xff0c;获取运行数据发送到OAP上进行统计和存储。agent探针在Java使用中是使用Java agent技术实现。不需要更改任何代码&#xff0c;Java agent会通过虚拟…

js基础API初学

事件监听 目标&#xff1a;能够给DOM元素添加事件监听 ■ 什么是事件&#xff1f; 事件是在编程时系统内发生的动作或者发生的事情 比如用户在网页上单击一个按钮 • 什么是事件监听&#xff1f; 就是让程序检测是否有事件产生&#xff0c;一旦有事件触发&#xff0c;就立即调…

【Git版本控制系统】:起步

目录 前言 版本控制 集中式与分布式的区别 Windows安装Git 核心 文件状态 工作区域 基本工作流程 配置用户信息 获取帮助 在线资源 前言 本篇文件的环境是Windows环境下实现。 在日常工作中git少不了&#xff0c;所以编写本篇文章介绍Git基础&#xff0c;专栏会不…

泰勒级数、海森矩阵、雅可比矩阵

泰勒级数 一元泰勒级数展开说明 多元泰勒级数展开说明 海森矩阵 海森矩阵说明 雅可比矩阵 雅可比矩阵说明

web学习笔记(三十二)

目录 1.函数的call、apply、bind方法 1.1call、apply、bind的相同点 1.2call、apply、bind的不同点 1.3call、apply、bind的使用场景 2. 对象的深拷贝 2.1对象的浅拷贝 2.1对象的深拷贝 1.函数的call、apply、bind方法 1.1call、apply、bind的相同点 在没有传参数时&…

OpenXR 超详细的spec--Chapter 1 Introduce

1.什么是OpenXR OpenXR是XR应用的一个API&#xff0c;它是app与runtime进程内或者进程外的接口。Runtime可以处理类似frame composition&#xff0c;外围设备管理、原始tracking information的功能。 Optionally, Runtime可以支持device layer plugins&#xff0c;允许通过共同…

C语言宏定义,内置宏,__FILE__,__LINE__,## 用法

​ 当然宏定义非常重要的&#xff0c;它可以帮助我们防止出错&#xff0c;提高代码的可移植性和可读性等。 下面列举一些成熟软件中常用得宏定义 1&#xff0c;防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H//头文件内容 … #endif2&#xff0c;重新定义一些…

Linux/secret

Enumeration nmap 第一次扫描发现系统对外开放了22&#xff0c;80和3000端口&#xff0c;端口详细信息如下 可以看到22端口对应的是ssh服务&#xff0c;80和3000都是http服务&#xff0c;80端口使用nginx&#xff0c;3000使用了Node.js TCP/80 可以先从80端口开始探索&…

ICSE 2024

Proceedings of the 46th IEEE/ACM International Conference on Software Engineering, ICSE 2024, Lisbon, Portugal, April 14-20, 2024. 第46届IEEE/ACM软件工程国际会议论文集&#xff0c;2024年4月14日至20日&#xff0c;葡萄牙里斯本。 1 Domain Knowledge Matters: Im…