腾讯会议面试 面了45分钟
1 == 与 equals的区别?
2 为什么重写equals时必须重写hashCode方法?
3 创建字符串的方式
4 解释一下String为什么不可变?
5 restful编程风格
6 HashMap 1.8新特性,HashMap迭代的时候删除会出现什么问题
7 说一说ArrayList 的扩容机制
8 进程与线程
9 虚拟内存是什么,有什么好处
虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。与没有使用虚拟内存技术的系统相比,使用这种技术的系统使得大型程序的编写变得更容易,对真正的物理内存(例如RAM)的使用也更有效率。
10 解释一下系统调用
11 线程同步方式 进程同步方式
12 说一下堆和栈
13 说一下你用过的linux命令(TOP AWK)
14 说一下Linux权限
Linux把文件的权限划分为读(r)、写(w)、执行(x)三种,每一个文件又有三组r、w、x权限,分别对应文件所属者rwx权限,文件所属者所在用户组的rwx权限,和除了文件所属者和文件所属者所在用户组的其他所有用户。
15 是否还知道其他的linux权限(不知道)
16 如何限制进程的内存使用大小(通过系统的ulimit命令限制资源的使用)
16 如何限制进程的内存使用大小(通过系统的ulimit命令限制资源的使用)
17 解释一下arp协议(地址解析协议)解析的是什么地址(网络地址,因为在网络层)
18 HTTP是长连接还是短连接?
在HTTP/1.0中默认使用短连接。也就是说,客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。当客户端浏览器访问的某个HTML或其他类型的Web页中包含有其他的Web资源(如JavaScript文件、图像文件、CSS文件等),每遇到这样一个Web资源,浏览器就会重新建立一个HTTP会话。而从HTTP/1.1起,默认使用长连接,用以保持连接特性。使用长连接的HTTP协议,会在响应头加入这行代码:Connection:keep-alive
在HTTP/1.0中默认使用短连接。也就是说,客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。当客户端浏览器访问的某个HTML或其他类型的Web页中包含有其他的Web资源(如JavaScript文件、图像文件、CSS文件等),每遇到这样一个Web资源,浏览器就会重新建立一个HTTP会话。而从HTTP/1.1起,默认使用长连接,用以保持连接特性。使用长连接的HTTP协议,会在响应头加入这行代码:Connection:keep-alive
在使用长连接的情况下,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,客户端再次访问这个服务器时,会继续使用这一条已经建立的连接。Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间。实现长连接需要客户端和服务端都支持长连接。HTTP协议的长连接和短连接,实质上是TCP协议的长连接和短连接。
19 get post区别
20 springBoot中常用注解(答的不好)
19 get post区别
20 springBoot中常用注解(答的不好)
21 radis数据类型,持久化方式,RDB持久化方式原理
当Redis需要做持久化时,Redis会fork一个子进程,子进程将数据写到磁盘上一个临时RDB文件中。当子进程完成写临时文件后,将原来的RDB替换掉,这样的好处是可以copy-on-write。
22 redis渐进式哈希(rehashing)知道吗(不知道)
23 解释快排和堆排的过程
24 数据库分页查询怎么实现(limit)
25 数据库事务ACID 隔离级别
26 B树和B+树的区别
27 反问 我有什么不足 ?
springBoot 注解不够熟练, 堆和栈 以及 线程同步方式 你都用java的方式去回答的,其实可以用操作系统的知识去回答
最后感谢牛客,linux部分和操作系统部分好几个题都是昨天晚上刷面经看到的原题,固来反馈牛客
全部评论
(7) 回帖