1、技术面(两面分开一起,1h)
问项目、问八股文
(1)B-树、B+树和红黑树(会引出MySQL)
【解析】
引言:平衡二叉树由于树深度过大,每访问一个节点,相当于就是进行了一次I/O操作,造成磁盘IO读写过于频繁,进而导致效率低下。为了减少磁盘IO次数,需要降低树的高度,因此每个节点上存储多个元素,每个节点有多个孩子,诞生了多路查找树!确保查找效率在O(log n)以上。
【B-树】——多路平衡查找树,每个节点都会存放数据。查找思路和二叉查找树类似(二分思想),节点上有多个数据,每个节点有多个子节点,所有叶子节点在同一高度。B树的每一个节点都包含key和value,因此经常访问的元素可能离根节点更近,因此访问也更迅速
【B+树】——B树的变种,相比于B树查询效率更高,它更适合操作系统的文件索引和数据库索引。它的节点不存放数据,只用来索引,**所有数据都存放在叶子节点,并且叶子节点有指针相连**。
上海万得信息技术股份有限公司java软件开发工程师面试题
(1)B-树、B+树和红黑树(会引出MySQL)
(2)队列熟悉吗?(如阻塞队列)
【解析】阻塞队列——原理是生产者+消费者模式,有七种队列,用于线程池的任务队列。
(3)线程池优化,四大线程池的特点(高并发)
(4)两个Text文件(A,B),A文件内一亿行数据,B文件内一亿一百行数据,如何两个找出数据差异
(5)String、StringBuffer和StringBuilder
(6)Synchronized和lock区别,底层原理是?synchronized一定是重量级锁吗?
(7)SQL语言 where like %ABC 和where like ABC% 哪个先执行?
【解析】
==线程池作用==:线程复用,管理调度线程,提高效率,减少频繁创建和销毁线程的开销,控制并发
==线程池优化==:主要参数的设置(核心线程数,最大线程数,存活时间,任务队列大小(有界还是无界),拒绝策略),要权衡利弊,不同场景使用不同的配置线程池。
面试全程是两个面试官,大概问了就是tcp,udp树,队列,数据库等相关内容,因为两个人是轮流进入会议的,所以问的内容相互不知道,基本上都是一样的
面试官问的面试题:上海万得信息技术股份有限公司java开发面试题
tcp
udp
二叉树
排序算法
项目中用到的相关联的各种类型的技术
为什么做这个项目
平时有什么爱好
为什么要去苏州发展
一面是电话面试聊了大概一个小时,先是自我介绍,然后介绍下项目。进入提问环节,面完后 直接通知了明天去现场二面 需要上机编程
面试官问的面试题:上海万得信息技术股份有限公司JAVA开发工程师面试题
mq消息避免丢失,如何幂等,如何做延迟队列,ioc 过程,springboot 原理,数据库索引原理,redis 分布式锁,jvm原理
(共3458条) 腾讯
(共2297条) 百度
(共1539条) 中软国际
(共141条) 浙江核新同花顺网络信息股份有限公司
(共19条) 北京永新视博数字电视技术有限公司
(共12条) 大唐软件
(共8条) 西安华讯科技有限责任公司
(共6条) 四川水井坊股份有限公司
(共4条) CHARLES & KEITH
(共4条) 陕西万德软件有限公司
(共5条) 北京新年华教育
(共9条) 茶颜悦色