京东-数据产品(offer)
一面
JVM
Redis
算法
二面
MySQL
- left join、right join、inner join 的区别
设计模式
算法
- 翻转链表
- 一个二维数组,从左往右递增,从上往下递增,问数组中是否存在数K
- 64匹马,8个赛道,只能知道马的名次而不知道具体时间,如何最少次数找出最快的4匹马
京东-虚拟商品交易
一面
JAVA基础
JVM
Spring
TCP
- 三次握手时的各个状态
- TIME_WAIT 的意义
- 阐述慢启动
MySQL
二面
JAVA基础
- HashMap Put过程
- HashMap 扩容时,为什么扩两倍
三面
京东-小结
京东问的问题大多停留在阐述概念,当然有些是我不会面试官就没往下深问了,整体还是偏简单的。数据产品能拿到 offer 可能归功于算法题太简单了(赛马那道除外),很流畅地就写完了,我会告诉你我一周写了三次反转链表吗
网易-有道
一面
JAVA基础
- 线程池的属性
- 为什么需要线程池
- 可以用哪些方法来线程同步
- 阐述 Synchronize, Lock
- HashMap 线程安全吗?如何线程安全
- ConcurrentHashMap 如何实现线程安全
- atomic 类了解吗,原理
- Synchronize 的原理
- AQS(AbstractQueuedSynchronizer)了解吗
操作系统
计算机网络
- 阐述 TCP 四次挥手
- TIME_WAIT 等待多久
Linux
- 如何找出状态为 TIME_WAIT 的 TCP 连接
- grep 原理,需要消耗哪些资源
MySQL
- 事务隔离等级
- 已提交读和可重复读的区别
- 不可重复读是什么
- 可重复读如何解决不可重复读
- select for update 和 select 的区别
算法
网易-小结
笔试之后两个月才面试可等死我了,问了不少多线程开发的问题,可惜我没做过这个,有空得写写 demo 熟悉下线程池,其他基本是常规问题
携程-途家
一面
JAVA基础
MySQL
- 联合索引(a,b,c)什么情况下适用
- 事务隔离等级
- 脏读是什么
二面
JAVA基础
- String 的特点,怎么实现值不可变
- a = "1",b = "2",c = "12",d = "1" + "2",e = a + b,问 c d e 两两之间是否 == / equal
- Synchronize 的原理
- 锁膨胀的过程
- 自旋锁的好处
- HashMap 查找复杂度,如何实现的
- HashMap 如何扩容,为什么长度是2的幂次
- HashMap 初始化默认长度,初始化长度为7会怎么样
- HashMap 在 JDK 1.8有什么改进
- HashMap 链表什么时候转红黑树
- 为什么8转红黑树,6退化为链表
- HashMap 为什么线程不安全
- ConcurrentHashMap 为什么线程安全
- ConcurrentHashMap 锁分段在1.8怎么实现
JVM
- CMS,G1 等垃圾回收器了解吗
- 老年代年轻代用什么回收算法
- 垃圾回收的判断方法
- 引用计数法的缺陷
- 哪些可以当做 GC root
- 如果在老年代中有对象引用年轻代的对象,回收年轻代的时候怎么处理
MySQL
- 事务隔离等级
- 幻读会发生在哪一级
- MySQL 如何防止幻读
- B+树的好处
- B+树非叶子节点只放索引的好处
- select where a > 3 and a < 10 和 where between 的区别
- 数据库如何加行级锁
- 快照读怎么实现的
Redis
算法
携程-小结
看得出来这个面试官非常喜欢 HashMap,面试中只要涉及到 JAVA 的集合类,准少不了 HashMap,如果接着问到线程安全方面,那多半会引出ConcurrentHashMap,关于这俩的问题也不少,仔细消化一下吧
旷视
一面
计算机网络
算法
- 二叉树右视图
- 一个数组,只有0和1,指定一个数k,返回最多将k个0变为1后最大的连续1子序列长度
二面
算法
- 复数计算(字符串处理)
- 二分查找
- 一个数组arr,每次pop一个数arr[i],sum+=arr[i-1] * arr[i] * arr[i+1],求sum的最大值
三面
计算机网络
- HTTP如何保持长连接
- 客户端还是服务端记录长连接
- session 和 cookie 的区别
- cookie 在传输中放在 HTTP 报文的哪里
旷视-小结
人工智能出身的公司对算法比较看重,但是除了最后那道动态规划其他算法题属于简单的类型。(面试中让写复杂动态规划的情况很少,一般考察的题目代码会比较简短)因为旷视技术栈不是 JAVA,所以就没问 JAVA 相关的,转而问了些计算机网络的东西,也不算很难。三面的面试官有些敷衍,觉得我的项目比较简单(第一次被这么说,果然是其他面试官太温柔了不好意思说),没什么想问我的就草草结束了
转载自:牛克网-YY的晕
新浪-金融
一面
JVM
MySQL
计算机网络
算法
二面
JAVA基础
- JAVA 和 C 的区别
- 如何体现面向对象
- 什么是多态
算法
- 从1亿个数找出前10
- 从1亿个数大概率找出某个数
- 布隆过滤原理,怎么减少碰撞
MySQL
中规中矩的面试题,该有的部分都没落下。布隆过滤器只是看过概念没有深究,原理和优化需要再品一下。这些经常听到的数据结构(诸如堆、并查集、字典树、AVL树等),可以多看看,再找几道题目实践一下,防患于未然
感谢我的学长K神捞了我一把,有品的面试官很 nice,问的问题你如果不会的话都详细地进行了解答而不是赶紧跳到下一个。二面面试官穿了件炉石主题的卫衣,就很巧扯到了炉石,然后让我设计这么一个游戏跨度就很大。有品面下来感觉一半时间都是面试官在说,也算是我运气好吧