wordpress漂亮手机网站模板下载wordpress nginx伪静态配置
2026/4/17 23:26:09 网站建设 项目流程
wordpress漂亮手机网站模板下载,wordpress nginx伪静态配置,类似wordpress的应用,网页制作免费网站建设真快啊#xff01;招银网络 26 届校招已经陆续开奖了#xff0c;和去年差别不大#xff0c;整体来看高了一点点。 我这里主要整理了软件开发岗位#xff08;Java#xff09;已经开的奖#xff08;数据来源于 offershow 和读者分享#xff09;#xff0c;大家感受一下招银网络 26 届校招已经陆续开奖了和去年差别不大整体来看高了一点点。我这里主要整理了软件开发岗位Java已经开的奖数据来源于 offershow 和读者分享大家感受一下软件开发总包 27w杭州大白菜软件开发总包 31w杭州SP软件开发总包 27w深圳大白菜软件开发总包 30w深圳SP软件开发总包 26w成都大白菜测开总包 22w成都大白菜可以看到招银网络软开的整体总包在 26w~31w部分可能更低或者更高一般是 12 薪。另外招银网络的公积金是按照 12% 的标准缴纳这点还是不错的。招银网络的风评一般很多人说这就是招银的内包罢了存在加班问题内部比较卷各种指标可能有末尾淘汰离职率相对较高。不过薪资待遇其实还不错相比较于其他中小厂来说。在当下对于很多人来说是一个可行的选择。当然了如果你是大佬有其他更好的 offer那招银就没啥吸引力了。招银网络一面还是比较简单的基本都是一些比较重要且高频的常规八股项目问的不多有实习经历的话会简单问问实习通常没有手撕算法。到了二面的时候 会开始主要考察你的项目。下面分享一位读者去年参加招银网络面试的一面面经。概览重写和重载的区别区别点重载 (Overloading)重写 (Overriding)发生范围同一个类中。父类与子类之间存在继承关系。方法签名方法名必须相同但参数列表必须不同参数的类型、个数或顺序至少有一项不同。方法名、参数列表必须完全相同。返回类型与返回值类型无关可以任意修改。子类方法的返回类型必须与父类方法的返回类型相同或者是其子类。访问修饰符与访问修饰符无关可以任意修改。子类方法的访问权限不能低于父类方法的访问权限。public protected default private绑定时期编译时绑定或称静态绑定运行时绑定 (Run-time Binding) 或称动态绑定可变长参数从 Java5 开始Java 支持定义可变长参数所谓可变长参数就是允许在调用方法时传入不定长度的参数。就比如下面这个方法就可以接受 0 个或者多个参数。public static void method1(String... args) { //...... }另外可变参数只能作为函数的最后一个参数但其前面可以有也可以没有任何其他参数。public static void method2(String arg1, String... args) { //...... }可变长参数的核心价值在于用一种优雅的方式替代了繁琐的方法重载和不便的数组传参让代码更加灵活、简洁和易读。它的本质是编译器的语法糖可变长参数在编译后会被编译器自动转换成一个数组。浮点运算为什么会丢失精度《阿里巴巴 Java 开发手册》中提到“为了避免精度丢失可以使用BigDecimal来进行浮点数的运算”。浮点数的运算竟然还会有精度丢失的风险吗确实会示例代码float a 2.0f - 1.9f; float b 1.8f - 1.7f; System.out.println(a);// 0.100000024 System.out.println(b);// 0.099999905 System.out.println(a b);// false为什么浮点数float或double运算的时候会有精度丢失的风险呢这个和计算机保存小数的机制有很大关系。我们知道计算机是二进制的而且计算机在表示一个数字时宽度是有限的无限循环的小数存储在计算机时只能被截断所以就会导致小数精度发生损失的情况。这也就是解释了为什么十进制小数没有办法用二进制精确表示。就比如说十进制下的 0.2 就没办法精确转换成二进制小数// 0.2 转换为二进制数的过程为不断乘以 2直到不存在小数为止 // 在这个计算过程中得到的整数部分从上到下排列就是二进制的结果。 0.2 * 2 0.4 - 0 0.4 * 2 0.8 - 0 0.8 * 2 1.6 - 1 0.6 * 2 1.2 - 1 0.2 * 2 0.4 - 0发生循环 ...SPI 和 API 区别SPI 即 Service Provider Interface 字面意思就是“服务提供者的接口”我的理解是专门提供给服务提供者或者扩展框架功能的开发者去使用的一个接口。SPI 将服务接口和具体的服务实现分离开来将服务调用方和服务实现者解耦能够提升程序的扩展性、可维护性。修改或者替换服务实现并不需要修改调用方。很多框架都使用了 Java 的 SPI 机制比如Spring 框架、数据库加载驱动、日志接口、以及 Dubbo 的扩展实现等等。那 SPI 和 API 有啥区别说到 SPI 就不得不说一下 APIApplication Programming Interface 了从广义上来说它们都属于接口而且很容易混淆。下面先用一张图说明一下SPI VS API一般模块之间都是通过接口进行通讯因此我们在服务调用方和服务实现方也称服务提供者之间引入一个“接口”。当实现方提供了接口和实现我们可以通过调用实现方的接口从而拥有实现方给我们提供的能力这就是API。这种情况下接口和实现都是放在实现方的包中。调用方通过接口调用实现方的功能而不需要关心具体的实现细节。当接口存在于调用方这边时这就是SPI。由接口调用方确定接口规则然后由不同的厂商根据这个规则对这个接口进行实现从而提供服务。举个通俗易懂的例子公司 H 是一家科技公司新设计了一款芯片然后现在需要量产了而市面上有好几家芯片制造业公司这个时候只要 H 公司指定好了这芯片生产的标准定义好了接口标准那么这些合作的芯片公司服务提供者就按照标准交付自家特色的芯片提供不同方案的实现但是给出来的结果是一样的。SPI 这个知识点还是蛮重要的更详细的介绍例如底层原理这些可以阅读笔者写的这篇文章https://javaguide.cn/java/basis/spi.html。MySQL 索引了解吗底层数据结构是什么索引是一种用于快速查询和检索数据的数据结构其本质可以看成是一种排序好的数据结构。索引的作用就相当于书的目录。打个比方我们在查字典的时候如果没有目录那我们就只能一页一页地去找我们需要查的那个字速度很慢如果有目录了我们只需要先去目录里查找字的位置然后直接翻到那一页就行了。索引底层数据结构存在很多种类型常见的索引结构有B 树、 B 树 和 Hash、红黑树。在 MySQL 中无论是 Innodb 还是 MyISAM都使用了 B 树作为索引结构。索引的优点查询速度起飞 (主要目的)通过索引数据库可以大幅减少需要扫描的数据量直接定位到符合条件的记录从而显著加快数据检索速度减少磁盘 I/O 次数。保证数据唯一性通过创建**唯一索引 (Unique Index)**可以确保表中的某一列或几列组合的值是独一无二的比如用户 ID、邮箱等。主键本身就是一种唯一索引。加速排序和分组如果查询中的 ORDER BY 或 GROUP BY 子句涉及的列建有索引数据库往往可以直接利用索引已经排好序的特性避免额外的排序操作从而提升性能。索引的缺点创建和维护耗时创建索引本身需要时间特别是对大表操作时。更重要的是当对表中的数据进行增、删、改 (DML 操作)时不仅要操作数据本身相关的索引也必须动态更新和维护这会降低这些 DML 操作的执行效率。占用存储空间索引本质上也是一种数据结构需要以物理文件或内存结构的形式存储因此会额外占用一定的磁盘空间。索引越多、越大占用的空间也就越多。可能被误用或失效如果索引设计不当或者查询语句写得不好数据库优化器可能不会选择使用索引或者选错索引反而导致性能下降。那么用了索引就一定能提高查询性能吗不一定。大多数情况下合理使用索引确实比全表扫描快得多。但也有例外数据量太小如果表里的数据非常少比如就几百条全表扫描可能比通过索引查找更快因为走索引本身也有开销。查询结果集占比过大如果要查询的数据占了整张表的大部分比如超过 20%-30%优化器可能会认为全表扫描更划算因为通过索引多次回表随机 I/O的成本可能高于一次顺序的全表扫描。索引维护不当或统计信息过时导致优化器做出错误判断。在 MySQL 中MyISAM 引擎和 InnoDB 引擎都是使用 BTree 作为索引结构。MySQL 索引这个知识点真的太太太重要了后端面试高频高点性价非常高的 SQL 优化手段。我专门写了一篇文章来总结 MySQL 索引常见的问题MySQL 的日志讲一下 binlog 和 redolog 有什么区别MySQL 日志的内容非常重要面试中经常会被问到。同时掌握日志相关的知识也有利于我们理解 MySQL 底层原理必要时帮助我们排查解决问题。MySQL 中常见的日志类型主要有下面几类针对的是 InnoDB 存储引擎错误日志error log对 MySQL 的启动、运行、关闭过程进行了记录。二进制日志binary logbinlog主要记录的是更改数据库数据的 SQL 语句。一般查询日志general query log已建立连接的客户端发送给 MySQL 服务器的所有 SQL 记录因为 SQL 的量比较大默认是不开启的也不建议开启。慢查询日志slow query log执行时间超过long_query_time秒钟的查询解决 SQL 慢查询问题的时候会用到。事务日志(redo log 和 undo log)redo log 是重做日志可以保证事务持久性。undo log 是回滚日志可以保证事务原子性。中继日志(relay log)relay log 是复制过程中产生的日志很多方面都跟 binary log 差不多。不过relay log 针对的是主从复制中的从库。DDL 日志(metadata log)DDL 语句执行的元数据操作。二进制日志binlog和事务日志(redo log 和 undo log)比较重要需要我们重点关注。binlog 和 redolog 的区别如下binlog 主要用于数据库还原属于数据级别的数据恢复主从复制是 binlog 最常见的一个应用场景。redolog 主要用于保证事务的持久性属于事务级别的数据恢复。redolog 属于 InnoDB 引擎特有的binlog 属于所有存储引擎共有的因为 binlog 是 MySQL 的 Server 层实现的。redolog 属于物理日志主要记录的是某个页的修改。binlog 属于逻辑日志主要记录的是数据库执行的所有 DDL 和 DML 语句。binlog 通过追加的方式进行写入大小没有限制。redo log 采用循环写的方式进行写入大小固定当写到结尾时会回到开头循环写日志。......排序算法有哪些常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。排序算法时间复杂度平均时间复杂度最差时间复杂度最好空间复杂度排序方式稳定性冒泡排序O(n^2)O(n^2)O(n)O(1)内部排序稳定选择排序O(n^2)O(n^2)O(n^2)O(1)内部排序不稳定插入排序O(n^2)O(n^2)O(n)O(1)内部排序稳定希尔排序O(nlogn)O(n^2)O(nlogn)O(1)内部排序不稳定归并排序O(nlogn)O(nlogn)O(nlogn)O(n)外部排序稳定快速排序O(nlogn)O(n^2)O(nlogn)O(logn)内部排序不稳定堆排序O(nlogn)O(nlogn)O(nlogn)O(1)内部排序不稳定计数排序O(nk)O(nk)O(nk)O(k)外部排序稳定桶排序O(nk)O(n^2)O(nk)O(nk)外部排序稳定基数排序O(n×k)O(n×k)O(n×k)O(nk)外部排序稳定术语解释n数据规模表示待排序的数据量大小。k“桶” 的个数在某些特定的排序算法中如基数排序、桶排序等表示分割成的独立的排序区间或类别的数量。内部排序所有排序操作都在内存中完成不需要额外的磁盘或其他存储设备的辅助。这适用于数据量小到足以完全加载到内存中的情况。外部排序当数据量过大不可能全部加载到内存中时使用。外部排序通常涉及到数据的分区处理部分数据被暂时存储在外部磁盘等存储设备上。稳定如果 A 原本在 B 前面而 排序之后 A 仍然在 B 的前面。不稳定如果 A 原本在 B 的前面而 排序之后 A 可能会出现在 B 的后面。时间复杂度定性描述一个算法执行所耗费的时间。空间复杂度定性描述一个算法执行所需内存的大小。快排详细介绍快速排序的基本思想是通过一趟排序将待排序列分隔成独立的两部分其中一部分记录的元素均比另一部分的元素小则可分别对这两部分子序列继续进行排序以达到整个序列有序。快速排序使用分治法Divide and conquer策略来把一个序列分为较小和较大的 2 个子序列然后递归地排序两个子序列。具体算法描述如下选择基准Pivot从数组中选一个元素作为基准。为了避免最坏情况通常会随机选择。分区Partition重新排列序列将所有比基准值小的元素摆放在基准前面所有比基准值大的摆在基准的后面相同的数可以到任一边。在这个操作结束之后该基准就处于数列的中间位置。递归Recurse递归地把小于基准值元素的子序列和大于基准值元素的子序列进行快速排序。RandomQuickSort关于性能这也是它与归并排序的关键区别平均和最佳情况它的时间复杂度是 。这种情况发生在每次分区都能把数组分成均等的两半。最坏情况它的时间复杂度会退化到 。这发生在每次我们选的基准都是当前数组的最小值或最大值时比如对一个已经排好序的数组每次都选第一个元素做基准这就会导致分区极其不均算法退化成类似冒泡排序。这就是为什么随机选择基准非常重要。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询