面经
看的面经的一个个答案
不穿鞋的猫丶
这个作者很懒,什么都没留下…
展开
-
腾讯——面经3
虚拟内存怎么到物理内存的? 当每个进程创建的时候,内核会为进程分配4G的虚拟内存,当进程还没有开始运行时,这只是一个内存布局。实际上并不立即就把虚拟内存对应位置的程序数据和代码(比如.text .data段)拷贝到物理内存中,只是建立好虚拟内存和磁盘文件之间的映射就好(叫做存储器映射)。这个时候数据和代码还是在磁盘上的。当运行到对应的程序时,进程去寻找页表,发现页表中地址没有存放在物理...原创 2020-03-17 15:23:18 · 219 阅读 · 1 评论 -
腾讯——面经2
HashMap和TreeMap? HashMap中的元素是无序的,TreeMap中的元素是有序的,HashMap的底层是哈希表,TreeMap的底层是红黑树,所以,HashMap适用于添加删除操作,TreepMap适用于查询操作,HashMap可以通过调整负载因子和初始容量来进行调优,而TreepMap总是处于平衡状态所以不需要调优mysql热备份原理? 也就是主从复制的...原创 2020-03-16 23:48:21 · 198 阅读 · 0 评论 -
腾讯-面经1
volatile在多级Cache中是如何实现的? 靠的缓存一直性协议实现的,当cpu写数据时,如果发现操作的变量是共享变量,那么在对该变量进行写入的时候,会使其他cpu将该变量的缓存设置为无效状态,当其他cpu需要读取变量时,再重新从内存中去读取进程池? 就是创建适当的进程在进程池里,和线程池的原理类似,都是为了避免重复地销毁或创建,在处理完任务后进程不销毁,而是继续在进程...原创 2020-03-16 00:16:44 · 190 阅读 · 0 评论 -
教训
白板编程要学会,计算用记事本编程,不然到时候真的不习惯,而且一定要会自己写一个链表,不然也是等死真的,突然卡壳了,当时完全不知道如果不能用容器自己怎么实现一个有界队列,我太容易紧张,这里其实自己声明一个ListNode类,然后直接在LimitQueue里面用就行了,我真的傻,当时,完全不知道怎么构造一个节点,以前刷LeetCode时都是官方构造好的直接使用就行,而现在让我自己构造我就...原创 2020-03-13 22:13:32 · 142 阅读 · 0 评论 -
美团——面经1
restful和rpc的区别? restful是一种架构风格,指的是一组架构约束条件和原则,满足约束条件和原则的应用程序或设计就是restful。 rpc是远程方法调用,就是像调用本地方法一样去调用远程方法 主要区别:restful使用的是http协议,rpc使用的是tcp协议,而http是运行在tcp上的,所以,rpc性能更加高效,但是灵活度没有restful高...原创 2020-03-13 13:25:51 · 169 阅读 · 1 评论 -
阿里-面经4
网路的七层模型? 从上到下分别是:应用层,表示层,会话层,传输层,网络层,链路层,物理层Http,Https区别? http协议运行与tcp上,发送端和接收端都无法确认对方的身份,https就是带有ssl的http协议,是添加了加密和认证机制的http协议。http的端口是80,https的端口是443,https需要购买证书进程的通信机制? 管道...原创 2020-03-08 23:38:20 · 213 阅读 · 0 评论 -
场景题
记一下常见的场景题,因为昨天面阿里的时候问了一道开放题,有点没有思路,所以将常见的场景题了解下不至于下次面试的时候手足无措吧1.从10亿个数里面找出最大的100个数 首先用100个数去建立堆,建成最小堆,然后剩下的数分别和堆顶元素比较,如果比堆顶元素小,则直接抛弃,如果比堆顶元素大,那么就用这个元素替换掉堆顶元素,然后进行堆的调整,当所有元素都比较完成,则堆里面的100个数就是...原创 2020-03-07 16:00:35 · 872 阅读 · 0 评论 -
阿里淘系提前批一面(自己的第一次面试)
第一次是3.5号下午打电话过来问我有空没有,准备第一轮面试,当时我接到电话人慌了,然后很紧张就说当时没在家(其实我在家),面试官很好,然后和我约定了第二天下午两点开始面试时长:55min教训:不是很懂的千万别往简历上写,来自一个被dubbo问懵的沙雕选手。。。。1.为什么新生代用复制算法,老年代用标记整理和标记清除算法,不同的算法的不同的优点? 首先,因为新...原创 2020-03-07 14:21:53 · 532 阅读 · 0 评论 -
阿里-面经3(钉钉面试的准备)
为什么要用Aop? 假如没有aop,那么在做日志处理的时候,我们需要在每个方法中添加日志处理,而这些操作都是重复的,所以使用aop的一个好处就是减少代码的重用。假如两个方法是强耦合的,假如某个时候我们不需要某个功能了,或者想替换成其他功能,那么必须一个个地进行修改,而通过aop的动态代理,可以将一些横向的功能抽离出来形成独立的模块,然后在指定位置插入Aop的代理模式?...原创 2020-03-06 00:50:38 · 3516 阅读 · 1 评论 -
阿里-面经2
protected和default的区别? protected:包内所有类可见,包外有继承关系的子类可见 default:保内所有类可见,包外有继承关系的子类不可见值传递和引用传递,String和char作为参数,结果会改变吗? 值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中的参数值不改变实际参数值的值 引用传递:也称作地址...原创 2020-03-02 23:45:55 · 103 阅读 · 0 评论 -
字节-面经4
jvm是什么?你对jvm的理解java程序之所以能够跨平台就是因为jvm,java程序只需要生成jvm上能够运行的字节码,就可以在各种平台上运行接口和抽象类的区别?抽象类中可以就静态方法,可以有普通方法,而接口不能。接口是抽象类的一种特例,比抽象类更加的抽象,所有方法必须是abstract的,不能有普通方法。接口不支持方法的默认实现,抽象类支持,抽象类有构造函数,接口没有。接口主...原创 2020-03-02 20:56:13 · 176 阅读 · 0 评论 -
阿里-面经1
用三个线程交替打印出ABCABC用上SingleThreadPoolExecutor,也就是单例线程池,代码如下:第二种方式,join,抢占时间片,但是不推荐使用,繁琐,看起来没有使用线程池优雅:第三种方式:Semaphore什么时候应该进行垃圾回收?分两种,第一种是新生代的eden去满了,会触发新生代GC,另一种当对象大于老年代的剩余的内存...原创 2020-02-28 09:54:13 · 204 阅读 · 0 评论 -
字节-面经3
redis有哪些数据结构?string,hash,set,zset,listredis的有序列表怎么实现?跳表(实际上就是二分查找的有序链表),在原有链表上添加多级索引,通过索引实现快速查找,跳表不仅能提高搜索性能,同时提高插入,删除,每个元素插入时会随机生成它的level,最底层包含了所有的元素,每个索引包含了两个指针,一个向下,一个向右为什么redis选择跳表而不是...原创 2020-02-26 00:27:45 · 211 阅读 · 0 评论 -
字节-面经2
简单说下http协议http就是超文本传输协议,详细规定了浏览器和万维网服务之间互相通信的规则。使用的是可靠的数据传输协议,在传输过程中不会被损坏或产生混乱。可以从web服务器商将各种信息发送到web浏览器上面去。是一种无状态的协议,http请求只能由客户端发起,服务端不能主动向客服端发送数据url是统一资源标识符 两种形式分别是url和urn常见的http方法:get,put,po...原创 2020-02-24 22:28:50 · 168 阅读 · 0 评论 -
字节-面经1
乐观锁和悲观锁的区别?说一下使用场景乐观锁:总是假设是最好的场景,即获取数据时没有别人来修改数据,只有在更新数据时会检查是否数据被修改了悲观锁:总是假设最坏的场景,即获取数据时与更新数据时总有别人在更改数据所以每次操作都要上锁使用场景:乐观锁:CAS,原子类,数据库版本号,时间戳 悲观锁:synchronized,reentrantLock数据库版本号:通过...原创 2020-02-24 01:23:44 · 306 阅读 · 0 评论