首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

.NET基础面试题整理

类:完全可扩展的,除非显示的声明sealed 否则类可以继承其他类接口,自身也能被继承注:虽然结构不能被继承 可是结构能够继承接口,方法类继承接口一样 3.内部结构: 结构:没有默认的构造函数,...但是可以添加构造函数没有析构函数没有 abstract sealed(因为不能继承)不能有protected 修饰符可以不使用new 初始化在结构中初始化实例字段是错误的 类:有默认的构造函数 有析构函数...当我们使用的时候,每次最顶部取走一个盒子。栈也是如此,当一个方法(或类型)被调用完成的时候,就从栈顶取走(called a Frame,译注:调用帧),接着下一个。...如果是未预料到的则不处理(内存不足,删除文件)直接报错更容易发现错误catch块最具体到常规排列 011 11.ListT[]的区别是什么,平时你如何进行选择?...事件内部就是一个private的委托add、remove两个方法。 016 16.工作之外您看哪些技术相关的书、网站、社区、项目等等?

1.6K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    再不用担心面试官问 HashTable HashMap 的区别了

    另外,欢迎关注我们,公号码一生,后台回复“资料”获取视频教程最新面试资料。...对链表而言,新加入的节点会从头结点加入。另外,欢迎关注我们,公号码一生,后台回复“资料”获取视频教程最新面试资料。...现在假如A线程B线程同时对同一个数组位置调用addEntry,两个线程会同时得到现在的头结点,然后A写入新的头结点之后,B也写入新的头结点,那B的写入操作就会覆盖A的写入操作造成A的写入操作丢失 (2...另外,欢迎关注我们,公号码一生,后台回复“资料”获取视频教程最新面试资料。 HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。...7、内部实现使用的数组初始化扩容方式不同 HashTable在不指定容量的情况下的默认容量为11,而HashMap为16,Hashtable不要求底层数组的容量一定要为2的整数次幂,而HashMap则要求一定为

    32620

    Least Recently Used 常用的 Redis 就有以下几种策略

    不过其中的 put get 流程算是一个简易的 HashMap 实现,可以对 HashMap 加深一些理解。 实现二 因此如何来实现一个完整的 LRU 缓存呢,这次不考虑过期时间的问题。...内部使用了一个双向链表来存放数据,所以有一个头结点 header,以及尾结点 tailer。...在写入头结点时有判断链表大小等于 2 时需要删除初始化的头尾结点。这是因为初始化时候生成了两个双向节点,没有数据只是为了形成一个数据结构。...获取数据时 数据上文一样: Integer integer = lruMap.get("2"); ? 通过以上几张图应该是很好理解数据是如何存放的了。...初始化自定义是否需要删除最近不常使用的数据,如果是则会按照实现二中的方式管理数据。

    41420

    使用DOT语言和GraphvizOnline来可视化你的ASP.NETCore3.0终结点01

    第1部分-使用DOT语言来可视化你的ASP.NETCore3.0终结点(本文) 第2部分-向ASP.NET Core应用程序添加终结点图 第3部分-使用ImpromptuInterface创建一个自定义的...您可以自定义节点边缘以多种方式显示的方式。...在这个图中还有很多事情要做,因为我们现在有了可变的路由参数值(路由模板中的{id},在图中显示为{...})HTTP动词约束(GET/PUT/POST等等) 当我第一次看到这个图表时,我很难理解它。...在下一篇文章中,我将展示如何自动为自己的ASP.NET Core应用程序生成端点图。 总结 在这篇文章中,我介绍了用于描述图形的DOT语言,并展示了如何使用在线编辑图表中创建图像。...在后面的文章中,我将展示如何为应用程序生成自己的端点图,如何自定义显示,以及如何做的不仅仅是查看图形。

    2.3K30

    动手实现一个 LRU cache

    不过其中的 put get 流程算是一个简易的 HashMap 实现,可以对 HashMap 加深一些理解。 实现二 因此如何来实现一个完整的 LRU 缓存呢,这次不考虑过期时间的问题。...内部使用了一个双向链表来存放数据,所以有一个头结点 header,以及尾结点 tailer。...在写入头结点时有判断链表大小等于 2 时需要删除初始化的头尾结点。这是因为初始化时候生成了两个双向节点,没有数据只是为了形成一个数据结构。...获取数据时 数据上文一样: 1 Integer integer = lruMap.get("2"); ? 通过以上几张图应该是很好理解数据是如何存放的了。...初始化自定义是否需要删除最近不常使用的数据,如果是则会按照实现二中的方式管理数据。

    42330

    揭秘 HashMap 实现原理(Java 8)

    二、put 方法的具体实现 put 方法的源码分析是本篇的一个重点,因为通过该方法我们可以窥探到 HashMap 在内部如何进行数据存储的,所谓的数组+链表+红黑树的存储结构是如何形成的,又是在何种情况下将链表转换成红黑树来优化性能的...上面我们说到,如果在 put 一个元素的时候判断内部的 table 数组还未初始化,那么调用 resize 根据相应的参数信息初始化数组。...最后,如果 removeNode 方法删除成功将返回被删结点,否则返回 null。 这样,相对复杂的 put remove 方法内部实现,我们已经完成解析了。...四、其他常用的方法介绍 除了常用的 put remove 两个方法外,HashMap 中还有一些好用的方法,下面我们简单的学习下它们。...null : e.value; } get 方法内部实现其实是我们介绍过的 put 方法中的一部分,所以此处也不再赘述。

    1.1K80

    并发容器队列

    HashMap一样,我们最常用的就是put()get(),首先我们put()讲起。...向ConcurrentHashMap存入元素使用put()方法put()内部调用putVal()函数,这里才是存储一个元素核心的内容,对于putVal函数的流程大体如下。...put 操作时,肯定会影响size(),在put()方法最后会调用addCount()方法。...PriorityBlockingQueue :一个支持优先级排序的无界阻塞队列,默认自然序进行排序,也可以自定义实现compareTo()方法来指定元素排序规则,不能保证同优先级元素的顺序。 4....对于size()方法,返回的结果可能不准确。因此,此方法在并发时通常不太有用。 ? 胖虎 热 爱 生 活 的 人 将 被 生 活 热 爱 我在这里等你哟!

    36020

    展示 Postlight 的 WordPress + React Starter Kit

    认识 Post light 的 WordPress + React Starter Kit,这是一个免费的、零到神的工具箱,适用于需要在自己的 PC 上轻松评估Headless WordPress 的建筑师物品爱好者...从那时起,你就可以开始自己的 WordPress 站点引入信息,并根据自己的需要更改后端前端。...Headless WordPress 要求你的设计团队有一些 WordPress/PHP 能力,但是你可以将这项工作分离给后端工程师,并释放你的前端工作能力以忽略 WordPress内部活动,只需注意如何查询...你必须设置自定义帖子类型自定义字段(Progressed Custom Fields Master 自定义帖子类型 UI)的 WordPress 模块。...有许多方法可以设置设计Headless WordPress,并且你可以在前端使用无数的响应库结构来完成你的工作。

    1.1K31

    WordPress REST API 内容注入漏洞分析

    HTTP客户端 WordPress本身在WP_HTTP类相关函数中提供了一个HTTP客户端。用于另一个访问一个WordPress站点。 资源 简单来说,就是文章,页面,评论等。...这个路由有三个端点: GET触发一个get_item方法,将post数据返回给客户端。 PUT触发一个update_item方法,使数据更新,并返回更新的发布数据。...现在我们可以忽略路由正则的限制,来传入我们自定义的ID。...代码中可以看出,它是用wp_posts中的get_instance静态方法来获取文章的,跟进wp_posts类,位于/wp-includes/class-wp-post.php中: public static...更改了对于$post_id的参数的传入顺序判断条件,防止了我们传入数字+字母这样的格式进行绕过。 0x04 修补方案 将WordPress更新到最新版本。

    3.3K70

    【92期】面试官:你说你精通Java并发,那给我讲讲J.U.C吧

    尝试释放资源,如果释放后允许唤醒后续等待结点返回true,否则返回false。   以ReentrantLock为例,state初始化为0,表示未锁定状态。...该方法可以用于实现Lock中的tryLock()方法。该方法的默认实现是抛出UnsupportedOperationException,具体实现由自定义的扩展了AQS的同步类来实现。...否则,通过enq(node)方法初始化一个等待队列,并返回当前节点。源码如下: private Node addWaiter(Node mode) { //以给定模式构造结点。...如果拿到,head指向当前结点,并返回入队到拿到号的整个过程中是否被中断过;如果没拿到,继续流程1。...put() 方法:如果队列为空 take() 将阻塞,直到队列中有内容;如果队列为满 put() 将阻塞,直到队列有空闲位置。

    37440

    92. 你说你精通Java并发,那给我讲讲JUC吧

    尝试释放资源,如果释放后允许唤醒后续等待结点返回true,否则返回false。 以ReentrantLock为例,state初始化为0,表示未锁定状态。...该方法可以用于实现Lock中的tryLock()方法。该方法的默认实现是抛出UnsupportedOperationException,具体实现由自定义的扩展了AQS的同步类来实现。...否则,通过enq(node)方法初始化一个等待队列,并返回当前节点。源码如下: private Node addWaiter(Node mode) { // 以给定模式构造结点。...如果拿到,head指向当前结点,并返回入队到拿到号的整个过程中是否被中断过;如果没拿到,继续流程1。...put() 方法:如果队列为空 take() 将阻塞,直到队列中有内容;如果队列为满 put() 将阻塞,直到队列有空闲位置。

    5110

    「Java并发」 HashMap实现原理及源码分析(Java 1.8.0_101)

    基本的使用角度来说,它很简单,但从其内部的实现来看(尤其是 Java 8 的改进以来),它又并非想象中那么容易。如果你一定要问了解其内部实现与否对于写程序究竟有多大影响,我不能给出一个确切的答案。...二、put 方法的具体实现 put 方法的源码分析是本篇的一个重点,因为通过该方法我们可以窥探到 HashMap 在内部如何进行数据存储的,所谓的数组+链表+红黑树的存储结构是如何形成的,又是在何种情况下将链表转换成红黑树来优化性能的...上面我们说到,如果在 put 一个元素的时候判断内部的 table 数组还未初始化,那么调用 resize 根据相应的参数信息初始化数组。...该方法已经详细阐述过,此处不再赘述。 所以,这个 put 方法是集添加与修改一体的一个方法,如果执行的是添加操作则会返回 null,是修改操作则会返回旧结点的 value 值。...最后,如果 removeNode 方法删除成功将返回被删节点的 value,否则返回 null。 这样,相对复杂的 put remove 方法内部实现,我们已经完成解析了。

    37931

    TreeMap就这么简单【源码剖析】

    1.3put方法 我们来看看TreeMap的核心put方法,阅读它就可以获取不少关于TreeMap特性的东西了~ ?...于是乎,我们可以找到:TreeMap遍历是使用EntryIterator这个内部类的 首先来看看EntryIterator的类结构图吧: ?...我们进去successor(e)方法看看实现: successor 其实就是一个结点的 下一个结点,所谓 下一个,是按次序排序后的下一个结点。...代码中可以看出,如果右子树不为空,就返回右子树中最小结点。如果右子树为空,就要向上回溯了。在这种情况下,t 是以其为根的树的最后一个结点。...我们源码中的很多地方中发现:ComparatorComparable出现的频率是很高的,因为TreeMap实现有序要么就是外界传递进来Comparator对象,要么就使用默认key的Comparable

    82950

    每天一个WordPress文件:wp-config.php

    不管如何,下面的设置就是分别需要输入你数据库的名字,连接 MySQL 数据库的用户名,密码和数据库的主机。...,那么就要在这里给每个 WordPress 程序指定不同的表前缀: $table_prefix = 'r235_'; // 只能数字,字符下划线 自定义 user usermeta 表 如果多个系统需要对接...WordPress 需要用到其他系统的用户表,那么可以通过下面两个字段来自定义: define( 'CUSTOM_USER_TABLE', $table_prefix.'...当你把你博客搬家到另外一个地方并且更改了域名,你就不需要在数据库中去修改 URL,直接就可以在 wp-config.php 里面设置。...,如果你觉得这个功能没鸟用,可以屏蔽它: define( 'WP_POST_REVISIONS', false ); 也可以设置在数据库日志修订的最大数: define( 'WP_POST_REVISIONS

    72330

    CVE-2022-21661:通过 WORDPRESS SQL 注入暴露数据库信息

    该博客涵盖了该错误的根本原因,并着眼于 WordPress 团队如何选择解决它。...首先,这是一个演示该漏洞的快速视频: 漏洞 该漏洞发生在 WordPress Query ( WP_Query ) 类中。WP_Query对象用于对 WordPress 数据库执行自定义查询。...插件主题使用此对象来创建他们的自定义帖子显示。  当插件使用易受攻击的类时,就会出现该漏洞。一个这样的插件是Elementor Custom Skin 。...接下来,它调用get_sql方法,该方法最终调用get_sql_for_clause用户提供的数据创建 SQL 语句的子句。...图 5 - wordpress/wp-includes/class-wp-tax-query.php 请注意,get_sql()返回的sql变量附加到 SQL SELECT 语句并使用方法返回的字符串进行组装

    4.3K10

    Java集合面试题(2021最新版)

    LinkedList 的双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继直接前驱。所以,双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点后继结点。...HashSet 中的add ()方法会使用HashMap 的put()方法。...方法,PRESENT是一个至始至都相同的虚值 return map.put(e, PRESENT)==null; } [jtt4na42p6.png] 26....而通过旋转变色,可以使这颗树重新成为红黑树。简单点说,旋转变色的目的是让树保持红黑树的特性。 32. HashMap的put方法的具体流程?...TreeMap TreeSet 在排序时如何比较元素?Collections 工具类中的 sort()方法如何比较元素? [tn685mwmp2.png] 51.

    11.5K85

    WordPress 自定义字段(Custom Fields)详细介绍使用

    WordPress 自定义字段是对 WordPress Posts 表的一种补充扩展,一般来讲 WordPress 提供了博客日志的作者,分类,标签,时间等,然后你可以根据你的需要自定义出一系列的其他信息...WordPress 自定义字段通常有两个的变量:键 ( key ) 值 ( value )。...如何在博客上显示自定义字段的数据 当我们想显示日志或者页面的自定义字段的时候,我们有几种方法。这里介绍两种简单的方法一些更高级的用法。...,然后可以通过把 $single 这个参数值 true 改成 false 来返回该自定义字段的所有值的数组: <?...WordPress 心情评论插件),灵活使用 WordPress 自定义字段可以把 WordPress 打造成强大的 CMS 系统,通过使用自定义字段,我们可以很快给日志页面加上很多额外的信息,并且不用编辑日志就能很快改变信息显示方式

    3.2K20
    领券