面试题day13

京东

  • 谈一谈你对集合的了解,从什么角度切入都可以。

    arraylist linkedlist

    hashset treeset

    hashmap treemap

    hashmap

    数组链表

    数组扩容(数组元素大于0.75*数组长度) 链表扩容(数组大于64,链表大于8)

    put 扰动函数 (n-1)&hash equals判断

  • 说说你对JMM的理解吧

    java内存模型

    原子性 可见性 有序性

    voliate 保存可见性,禁止指令重排 内存屏障

  • 谈一谈你对JVM的理解吧

    java虚拟机

    堆 方法区

    本地方法栈 虚拟机栈 程序计数器 直接内存

    直接内存是在java堆外的、直接向系统申请的内存空间

  • gc算法和回收器

    清除、复制、压缩

    Serial、SerialOld、ParallelScavenger、ParallelOld、ParNew、CMS、G1

  • 有哪些索引 唯一 普通 主键 全文

  • 一个表 有年龄 姓名 性别 身份证和其他 你怎么建索引

    身份证号

  • 为什么通常不在性别上建索引?

    效率提升差

  • 用户打开你的网站,很长一段时间过后才得到反馈,你分析一下原因。

    网络问题、慢SQL

拼多多

一面

  • 项目 中用到了 redis 的什么结构?怎样用的说一下;

  • redis的跳表的实现。

  • 项目中的数据库是怎么设计的?

  • 索引是怎么设计的?为什么这么设计?有没有什么缺陷?怎么优化查询的?

  • 假设有一个班级,班级里有老师、学生,有语数外等几门课程刚考完试出了成绩,你该如何设计这张表?

    学生表 老师表 课程表 成绩表

  • currenthashmap hashmap

    1.7 segment 1.8 cas+Sysnchronized

  • 如何保证线程安全

    局部变量,使用线程安全的类,加锁,线程本地变量

  • spring的ioc,aop

    控制反转、代理模式

  • aop动态代理,jdk动态代理 源码 看过吗

  • 笔试题:给你一个正整数数组,求出每个元素和后面第一个值比它大的数字之间的间隔。

拼多多

二面

  • tcp四次挥手,time waiting

    seq x

    ack x+1

    seq y

    ack y+1

    主动超时等待,2msl

  • 客户端 和一台服务器能建立多少连接,怎么做拥塞控制和进程间通信?

    65535

    • 慢热启动算法 – Slow Start
    • 拥塞避免算法 – Congestion Avoidance
    • 快速重传 - Fast Retransimit
    • 快速恢复算法 – Fast Recovery

    管程、共享区域、消息队列

  • Mysql索引优缺点, B+树

    遍历层级短、io次数少

  • 隔离级别

    ru、rc、rr、串行化

    脏读、不可重复读、幻读

  • MVCC 乐观锁/悲观锁

    undo log、read-view、三个字段(隐藏主键、回滚日志指针、最后一次事务id)

  • 5种io, select epoll区别,select数组为什么默认1024 ?

    同步非阻塞io、同步阻塞io、io多路复用、信号驱动io、异步io

  • 线程池+拒绝策略

    核心线程数、最大线程数、阻塞队列、线程工厂、拒绝策略、存活时间和时间单位

    直接抛出、最早抛出、发起者调用、不处理

  • 最后还是一道笔试题:给定一个字符串S,请计算输出含连续两个S作为子串的最短字符串

posted @ 2022-07-22 23:17  Faetbwac  阅读(21)  评论(0编辑  收藏  举报