B+树、B-树的区别?
数据库隔离级别,幻读和不可重复读的区别?
有 hell, well, hello, world 等字符串组,现在问能否拼接成 helloworld,代码实现。
快排算法实现
线程安全的单例模式
匹马赛跑,有一个赛场,只有五个赛道,没有计时器,只能通过目测来记录快慢,求出第三 3 快的马要多少场比赛?
kmp 算法 next 数组的求解思路
数组中有三个数字出现超过 3/4,求这三个数字?
1 到 n+2 个数组中缺了两个数,如何用 O(n)时间,O(1)空间找到这两个数字。
一条线段长为 1,随机选两个点,将改线段分为三段,三段能成三角形的概率是多少?
有一个教授,他三个学生,脑袋背后分别各写了一个数字,其中一个数字是另外两个数字的和,经过几轮后,有一个学生猜出了自己的数字请问是什么原因?
B+树做索引时,B+树通常高度为多少层?要参考哪些条件?
static 有什么用途?(请至少说明两种)
引用与指针有什么区别?
描述实时系统的基本特性
全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
什么是平衡二叉树?
堆栈溢出一般是由什么原因导致的?
什么函数不能声明为虚函数?
冒泡排序算法的时间复杂度是什么?
写出 float x 与“零值”比较的 if 语句
Internet 采用哪种网络协议?该协议的主要层次结构?
Internet 物理地址和 IP 地址转换采用什么协议?
IP 地址的编码分为哪俩部分?
用户输入 M,N 值,从 1 至 N 开始顺序循环数数,每数到 M 输出该数值,直至全部输 出。写出 C 程序。
不能做 switch()的参数类型是
int A[nSize],其中隐藏着若干 0,其余非 0 整数,写一个函数 int Func(int* A, int nSize), 使 A 把 0 移至后面,非 0 整数移至数组前面并保持有序,返回值为原数据中第一个元素为 0 的下标。
写一个程序, 要求功能:求出用 1,2,5 这三个数不同个数组合的和为 100 的组合个数
实现一个函数,把一个字符串中的字符从小写转为大写
随机输入一个数,判断它是不是对称数(回文数)(如 3,121,12321,45254)。不能 用字符串库函数
求 2~2000 的所有素数.有足够的内存,要求尽量快
A,B,C,D 四个进程,A 向 buf 里面写数据,B,C,D 向 buf 里面读数据,当 A 写完,且 B,C, D 都读一次后,A 才能再写。用 P,V 操作实现。
将单向链表 reverse,如 ABCD 变成 DCBA,只能搜索链表一次。
将二叉树的两个孩子换位置,即左变右,右变左。不能用递规。
以下属于物理层的设备是? 在以太网中,是根据()地址来区分不同的设备的?
以下为传输层协议的是?
以下对 MAC 地址描述正确的是?
以下属于数据链路层功能的是?
IEEE802.3u 标准是指?
如果要将两计算机通过双绞线直接连接,正确的线序是?
在 V.35 和 V.24 规程中,控制信号 RTS 表示?
路由器作为网络互连设备,必须具备以下哪些特点?
路由器的作用有?
调用上一条历史命令的快捷键是?
交换机工作在 OSI 七层的哪一层?
以下对 CSMA/CD 描述正确的是?2.4.5 以下对 STORE ANDFORWARD 描述正确的是?
以下对交换机工作方式描述正确的是?
VLAN 的主要作用有?
在交换机中用户权限分为几个级别?
在路由器的配置过程中查询以 S 开头所有命令的方法是?
第一次配置路由器时可以使用的方法为?
在何种状态下可以为路由器改名?
某公司申请到一个 C 类 IP 地址,但要连接 6 个的子公司,最大的一个子公司有 26 台 计算机,每个子公司在一个网段中,则子网掩码应设为?
与 10.110.12.29mask 255.255.255.224 属于同一网段的主机 IP 地址是?
ARP 协议的作用是?
当路由器接收的 IP 报文的 TTL 值等于 1 时,采取的策略是?
在 NetWare 网络中,客户需要访问某个类型的服务器时,首先要发送一个 ()广播报文来寻找服务器?
IPX 地址网络地址有( )个字节?
对于帧中继描述正确的是?
对于 INVERSE ARP 的描述正确的是?
一般 sql 注入怎么发现触点的,从源码阐述 sqlmap 如何测试注入点的。
masscan 扫描端口时靠什么检测,为什么这么快? 请详述.
你写过哪些小工具,你为你使用过的工具做过什么修改.
如何提高采用 python 编写的扫描速度,谈谈对 GIL 锁的了解.
你觉得你发现的那个漏洞影响比较大.
常见的 web 漏洞有哪些.
有没有玩过硬件安全,研究程度如何.
反爬虫,如果是你如何进行反爬虫,如何绕过反爬措施。使用无头浏览器被检测到了,如何绕过
nmap 扫描如何进行扫描。发包与协议,握手和不握手,哪些协议握手,哪些不握手. 如 何不直接接触目标服务器探测对方端口是否开放
有没有自己编写过 yara 扫描模块,如果要解决扫描{k1:v1, k2:v2, k3:v3} ,保证同时在k1 中的 v1 里出现特定值,k2 中出现 v2 特定值,以及 k3,v3。怎么实现
xss 什么原理,如何自己实现一个 beef 类似的 xss 平台. 既然这样实现,面临的跨域如何解决?
ip 频率限制, ip 信誉度模型?
SCTP 协议是什么?如何使用 SCTP 优化网络?
java 虚拟机内存模型
内存溢出一般发生在哪个区?永久代会不会导致内存溢出?
动态加载类的框架了解哪些?
动态代理一般有哪几种实现方式?动态代理的应用场景有哪些?
栈会不会溢出?栈溢出一般抛什么异常?jvm 在哪里设置栈的大小?设置的参数是什 么?
用过哪些命令查看 jvm 的状态、堆栈信息?
jvm 的垃圾回收机制?
java 类加载机制?如何实现自定义类加载器?findClass 与 loadClass 的区别?
String、StringBuffer、StringBuilder 的区别?对应的使用场景?
如何实现不可变的类?
浅复制和深复制?怎样实现深复制?
HashMap、HashTable、ConcurrentHashMap 的区别?
CAS 是一种什么样的同步机制?
NIO 的原理,包括哪几个组件?
简单介绍一下 java 的反射机制?反射在哪些地方有应用场景?
spring 加载 bean 的流程?
java 线程池?线程池构造函数的几个参数含义?keepAliveTime 解释一下?
一个接口,要去调用另外 5 个接口,每一个接口都会返回数据给这个调用接口,调用接口要对数据进行合并并返回给上层。这样一种场景可能用到并发包下的哪些类?你会怎么 去实现这样的业务场景?
CountDownLatch 和 CyclicBarrier 的区别?
线程加锁有哪些方式?synchronized 和 lock 的区别?
volatile 关键字的作用?为什么使用 AtomicLong 而不使用 Long?AtomicLong 的底层是怎 么实现的?
mysql 的存储引擎有哪几种?
sql 优化有哪些着手点?组合索引的最左前缀原则的含义?
springmvc 处理请求的流程?
spring 的事务怎么使用?事务回滚?自定义异常?
脏读?幻读?
tcp 四次挥手的过程?TIME_WAIT 为什么至少设置两倍的 MSL 时间?
get 和 post 请求的区别?
cookie 和 session 的请求?
了解哪些开源的中间件?缓存?消息?分布式框架?
用到过哪些设计模式?单例模式的实现?
数据库的事务实现原理、操作过程、如何做到事物之间的独立性等问题
数据库的脏读,幻读,不可重复读出现的原因原理,解决办法
数据库的隔离级别、MVCC
乐观锁、悲观锁、互斥锁、读写锁的原理实现与区别
线程的生命周期
一致性 hash 算法原理与应用5.4.7 CAP 原则
CAS 操作
分布式 raft 算法
JAVA 中的几种基本数据类型是什么,各自占用多少字节。
String 类能被继承吗,为什么。
String,Stringbuffer,StringBuilder 的区别。
ArrayList 和 LinkedList 有什么区别。
讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函 数,字段,当 new 的时候,他们的执行顺序。
用过哪些 Map 类,都有什么区别,HashMap 是线程安全的吗,并发下使用的 Map 是什么,他们内部原理分别是什么,比如存储方式,hashcode,扩容,默认容量等。
JAVA8 的 ConcurrentHashMap 为什么放弃了分段锁,有什么问题吗,如果你来设计,你如何设计。
有没有有顺序的 Map 实现类,如果有,他们是怎么保证有序的。
抽象类和接口的区别,类可以继承多个类么,接口可以继承多个接口么,类可以实现多 个接口么。
继承和聚合的区别在哪。
IO 模型有哪些,讲讲你理解的 nio ,他和 bio,aio 的区别是啥,谈谈 reactor 模型。
反射的原理,反射创建类实例的三种方式是什么。
反射中,Class.forName 和 ClassLoader 区别 。
描述动态代理的几种实现方式,分别说出相应的优缺点。
动态代理与 cglib 实现的区别。
为什么 CGlib 方式可以对接口实现代理。
final 的用途。
写出三种单例模式实现 。
如何在父类中为子类自动完成所有的 hashcode 和 equals 实现?这么做有何优劣。
请结合 OO 设计理念,谈谈访问修饰符 public、private、protected、default 在应用设计中的作用。
深拷贝和浅拷贝区别。
数组和链表数据结构描述,各自的时间复杂度。
error 和 exception 的区别,CheckedException,RuntimeException 的区别。
请列出 5 个运行时异常。
在自己的代码中,如果创建一个 java.lang.String 类,这个类是否可以被类加载器加载? 为什么。
说一说你对 java.lang.Object 对象中 hashCode 和 equals 方法的理解。在什么场景下需要重新实现这两个方法。
在 jdk1.5 中,引入了泛型,泛型的存在是用来解决什么问题。
这样的 a.hashcode() 有什么用,与 a.equals(b)有什么关系。
有没有可能 2 个不相等的对象有相同的 hashcode。
Java 中的 HashSet 内部是如何工作的。
什么是序列化,怎么序列化,为什么序列化,反序列化会遇到什么问题,如何解决。
java8 的新特性。
JVM 什么情况下会发生栈内存溢出。
JVM 的内存结构,Eden 和 Survivor 比例。
JVM 内存为什么要分成新生代,老年代,持久代。新生代中为什么要分为 Eden 和 Survivor。
JVM 中一次完整的 GC 流程是怎样的,对象如何晋升到老年代,说说你知道的几种主要 的 JVM 参数。
你知道哪几种垃圾收集器,各自的优缺点,重点讲下 cms 和 G1,包括原理,流程,优缺点。
垃圾回收算法的实现原理。
当出现了内存溢出,你怎么排错。
JVM 内存模型的相关知识了解多少,比如重排序,内存屏障,happen-before,主内存, 工作内存等。
简单说说你了解的类加载器,可以打破双亲委派么,怎么打破。
讲讲 JAVA 的反射机制。
你们线上应用的 JVM 参数有哪些。
g1 和 cms 区别,吞吐量优先和响应优先的垃圾收集器选择。
怎么打出线程栈信息。
简单讲讲 tomcat 结构,以及其类加载器流程,线程模型等。
tomcat 如何调优,涉及哪些参数 。
讲讲 Spring 加载流程。
Spring AOP 的实现原理。
讲讲 Spring 事务的传播属性。
Spring 如何管理事务的。
Spring 怎么配置事务(具体说出一些关键的 xml 元素)。
说说你对 Spring 的理解,非单例注入的原理?它的生命周期?循环注入的原理,aop 的实现原理,说说 aop 中的几个术语,它们是怎么相互工作的。
Springmvc 中 DispatcherServlet 初始化过程。
netty 的线程模型,netty 如何基于 reactor 模型上实现的。
为什么选择 netty。
什么是 TCP 粘包,拆包。解决方式是什么。
netty 的 fashwheeltimer 的用法,实现原理,是否出现过调用不够准时,怎么解决。
netty 的心跳处理在弱网下怎么办。
netty 的通讯协议是什么样的。
springmvc 用到的注解,作用是什么,原理。
springboot 启动机制。
Linux 系统下你关注过哪些内核参数,说说你知道的。
Linux 下 IO 模型有几种,各自的含义是什么。
epoll 和 poll 有什么区别。
平时用到哪些 Linux 命令。
用一行命令查看文件的最后五行。
用一行命令输出正在运行的 java 进程。
介绍下你理解的操作系统中线程切换过程。
进程和线程的区别。4.8.0 top 命令之后有哪些内容,有什么作用。
线上 CPU 爆高,请问你如何找到问题所在。
个人去一个海岛寻宝,最后一共找到了 100 枚金币。他们约定了一个分配方案。
给你一个有序整数数组,数组中的数可以是正数、负数、零,请实现一个函数,这个函数返回一个整数:返回这个数组所有数的平方值中有多少种不同的取值。
一个环有 10 个节点,编号 0-9。从 0 点出发,走 N 步又能回到 0 点,共有多少种走法?
一个乱序数组,求第 K 大的数。排序方式使用字典序。
一棵二叉树,求最大通路长度。(即最大左右子树高度之和)
进程和线程的区别,使用线程真的能节省时间?
go 协程的调度方式,使用协程真的能节省时间?
水平触发边沿触发的区别?在边沿触发下,一个 socket 有 500 的数据,已读取 200 然 后不再处理,是不是剩下的 300 就永远无法读取?
有函数如下,输入 1,返回什么?
设计 http 协议,A 端发送 AAAA,至少让 B 端知道 AAAA 已发送完成。
流量总入口为 api_gateway,api_gateway 挂了会导致全部挂挂,用什么机制增大可用 性?
mysql 为什么要用 b+树,不用平衡二叉树做索引结构?
创建数据库索引应该怎么考虑?
使用 int 做 primary key 和使用 string 有什么优劣?
数据库分表的方法?
表结构,订单纪录如下,写一个语句,求卖的最好的 top 10 product_id。
微服务,A 服务请求 B 服务 B1 接口,B1 接口又请求 A 服务 A2 接口。会不会有问题?
不使用高级工具,只使用 Linux 自带的工具,你会如何 debug?
如何预估一个 mysql 语句的性能?
go 函数中,返回值未命名,发生了 panic,但是在函数内 recover 了。函数返回什么值?
socket 中,在 tcp 协议层面,数据分为 10 个报文发放。1-7 次很顺利,第 8 次丢失。这次通信一定失败吗?如果第 8 次数据会重发,那在接收端是不是:先读取到 1-7 次的数据,然后读取到 8-10 次的数据?还是 9-10 次的数据会先到达?
free -h,buffers 和 cached 有什么不同
后台进程有什么特点,如果要你设计一个进程是后台进程,你会考虑什么
僵尸进程是什么,如果产生一个僵尸进程,如何查找僵尸进程
孤儿进程是什么
一个进程有 20 个线程,在某个线程中调用 fork,新的进程会有 20 个线程吗?
tcp/ip 流量控制和拥塞控制
301/302 有什么区别?应用上有什么异同。
50X 相关错误码的内涵是什么?
close wait 和 time wait 是什么?如何排查?有什么意义?
http req 和 resp 的中数据有哪些
什么是连接的半打开,半关闭状态
假如一个业务依赖单点 redis,此 redis 故障将导致业务不可用,如何改进
redis sharding 有哪些做法
当大量数据要求用 redis 保存,单机单点难以满足需要,设计(换寻找)一个负载均衡的方案6.4.5 当 redis 采用 hash 做 sharding,现在有 8 个节点,负载方案是 pos = hash(key) % 8,然后保存在 pos 节点上。这样做有什么好处坏处?当 8 个节点要扩充到 10 个节点,应该怎么办?有什么更方便扩充的方案吗?(一致性 hash, presharding)
如何保证 redis 和数据库数据的一致性。比如用户名既保存在数据库,又保存在 redis 做缓存。有如下操作 update_db(username); update_redis(username)。但是执行 update_db 后故障,update_redis 没有执行。有什么简单办法解决这个问题。
** 个人去一个海岛寻宝,最后一共找到了 100 枚金币。他们约定了一个分配方案。
给你一个有序整数数组,数组中的数可以是正数、负数、零,请实现一个函数,这个函数返回一个整数:返回这个数组所有数的平方值中有多少种不同的取值。
一个环有 10 个节点,编号 0-9**。从** 0 点出发,走 N 步又能回到 0 点,共有多少种走法?
一个乱序数组,求第 K 大的数。排序方式使用字典序。
一棵二叉树,求最大通路长度。(即最大左右子树高度之和)
进程和线程的区别,使用线程真的能节省时间?
go 协程的调度方式,使用协程真的能节省时间?
水平触发边沿触发的区别?在边沿触发下,一个 socket 有 500 的数据,已读取 200 然后不再处理,是不是剩下的 300 就永远无法读取?
有函数如下,输入 1,返回什么?
设计http协议,A端发送 AAAA,至少让 B 端知道 AAAA 已发送完成。
流量总入口为 api_gateway,api_gateway 挂了会导致全部挂挂,用什么机制增大可用性?