高频考点建议收藏!!!
(稍后整理答案!!!)
东方财富一面 JAVA
1、集合常用哪些类,arraylist和linkedlist的比较 2、Java多线程(线程如何创建、怎么使用线程池) 3、锁升级 4、JMM 5、垃圾回收 算法 6、HashMap一套 7、 redis 数据类型及底层实现(主要跳表) 8、缓存一致性 9、mysql引擎知道哪些,区别是什么(我说了myisam和innodb) 10、mysql慢查询 11、mysql组件(不太了解,尴尬) 12、索引以及explain使用 13、各种mq的优势以及怎么选择 14、zk选举(说了一种场景,详细说说选举过程) 15、cas底层实现
美团一面JAVA
操作系统
- 进程和线程的区别?
- 什么是临界区?
- 进程间通信的方法?
- 进程有哪些调度 算法 ?
- 什么是死锁?死锁的条件?
计算机网络
- HTTP属于哪一层?
- TCP和UDP处于哪一层?
- TCP和UDP有什么运用场景?有哪些区别?
- TCP为什么需要三次握手和四次挥手?
- 浏览器输入网址之后发生了什么?
- Cookie和Session的区别?
追问:分布式Session如何实现?
Java基础
- Java的异常体系?
- 遇见过什么Error?
答:OOM 追问:OOM你是怎么排查的? - 遇到过NoSuchMethodException吗?
有见过,但是没啥印象是什么场景了。。 - Integer类有缓存吗?为什么需要缓存?
- 我可以自己实现一个包名和类名都一样的Integer类吗?
JVM
- JVM的类加载机制
- 有几种类加载器?为什么要有双亲委派模型?
- 打破双亲委派模型的例子
- Java的锁升级机制?
追问:锁升级机制怎么实现的?可以从对象头来说 - Java有哪些GC 算法 ?
- 了解过G1收集器吗?
追问:四个步骤中哪些步骤会STW? - Java的内存区域
Java数据结构
- HashMap底层实现
- HashMap扩容时发生死循环是什么情况?
- ConcurrentHashMap底层
追问:ConcurrentHashMap扩容机制 - LinkedHashMap了解过吗?用于解决什么问题?
- ArrayList和LinkedList的区别?
逻辑题 40亿个不重复、未 排序 的unsigned int,给一个x,有2G内存,如果判断x是否在这40亿个数之中?
算法题 LeetCode 88 合并两个有序数组
最后没有反问环节,感觉有点凉的意思
美团二面JAVA
基础 Java并发
- ConcurrentHashMap和HashMap的区别?
- ConcurrentHashMap锁的粒度?
- Java与并发相关的关键字?
谈了一下synchronized,主要说了一下锁升级。 - 同步方法和同步代码块?
追问:一般更推荐用哪种?
计算机网络
- 得到网页的IP地址之后是如何建立连接的?
MySQL
- 索引设计的原则
追问:给一个简单的SQL,问如何设计索引。 追问:两个用=判断的可以变换顺序吗? - 脏读、幻读是如何解决的?
追问:next-key lock的上锁区间是如何确定的? 这块问的比较细,追问了挺多关于锁的细节的,具体有点记不起了。
Redis
- Redis是单线程还是多线程?单线程为什么依然快?
- Redis的多路复用是如何保证读写的顺序正确?
- Redis实现分布式锁
计组
- 从磁盘I/O的大致过程?
算法 LeetCode 2 两数相加
逻辑题 要吃一颗A药一颗B药,两种药看起来一样,现在手上有一粒A两粒B,怎样吃才能不浪费? 1000瓶液体,1瓶有毒,一小时毒发,需要多少只老鼠才能一小时试出哪瓶有毒?
字节一面JAVA
1.自我介绍阶段还是有笑容的,下面的问题给我整郁闷了
2.专业知识部分:Java高并发部分,happensbefor讲一下;
volatile关键字讲一下;
Linux与Java的多线程有什么区别?
ArrayList底层一个框的大小?
讲一下泛型;
讲一下可重入锁;
讲一下synochronizd关键字;
Java中线程被阻塞了如何被唤醒?
讲一下concurrentHashMap底层原理;
说一下hashcode(),equals()和==的区别,重写前两个方法的作用是?
讲一下操作系统中的内核态与用户态;
讲一下用户态什么情况下会进入内核态?
讲一下Linux的锁机制?
讲一下HTTP包含的方法?(get() post()等)
讲一下post请求下上传一定大小的数据怎样判别数据大小?
3.编程题: 1:实现字典树
2:两个有序 链表 的合并,楼主写了递归,要求再写一个循环的。
|