京东

收藏
电商
10000人以上
上市
北京/深圳/上海/西安/成都
identity 科技人才最青睐校招雇主
福利丰厚榜学历友好榜高校必争榜offer比较常胜榜HC充足榜校招高薪榜牛客指数榜
查看官网
上传简历
职位类型
全部
后端开发
前端开发
客户端开发
测试
数据
更多
最新
热门
昨天 13:10
门头沟学院 Java
1、Java面向对象具有封装、继承、多态三大核心特性。封装通过访问修饰符隐藏对象内部细节,仅暴露必要接口;继承允许子类复用父类属性和方法,实现代码复用和层次化扩展;多态分为编译时重载和运行时重写,使程序能够通过统一接口处理不同对象,提升灵活性和可扩展性。2、重载发生在同一类中,方法名相同但参数列表不同,与返回值和访问修饰符无关,编译时绑定;重写是子类覆盖父类方法,方法名、参数列表和返回类型必须相同,访问权限不能更严格,不能抛出新的检查异常,运行时动态绑定。3、线程池核心参数包括:核心线程数、最大线程数、空闲存活时间、时间单位、阻塞队列、线程工厂、拒绝策略。ThreadLocal底层使用ThreadLocalMap存储数据,其Key是弱引用的ThreadLocal对象,Value是强引用的实际存储值,每个线程独立拥有此Map实现数据隔离,需注意内存泄漏问题。4、使用线程池实现1~100累加时,首先创建固定大小的线程池,然后将累加任务拆分为多个子任务,通过线程池提交实现了Callable接口的每个子任务,收集返回的Future对象后,遍历这些Future并累加其阻塞获取的中间结果,最终关闭线程池并输出总和。整个过程利用线程池并行处理子任务,通过分治策略提升计算效率,同时确保资源合理回收。5、B+树非叶子节点仅存储键,叶子节点包含全部数据且形成有序链表。相比B树:1. 查询更稳定:所有数据都在叶子节点,查询路径长度一致;2. 范围查询高效:叶子节点链表直接遍历,无需回溯;3. 磁盘I/O更低:节点存储更多键,树更矮胖;4. 全表扫描更快:叶子节点链表顺序遍历即可。6、失效场景:1. 违反最左前缀原则;2. 对索引列使用函数或表达式;3. 类型隐式转换;4. 模糊查询以通配符开头;5. OR条件包含非索引列。优化方法:1. 按高频查询顺序建联合索引;2. 避免索引列运算;3. 用覆盖索引减少回表;4. 数据量大时用分区表;5. 定期分析索引使用率并删除冗余索引。7、通过EXPLAIN命令查看SQL执行计划,关注key字段显示使用的索引名,type字段为ref/range表示有效索引扫描;若为ALL则是全表扫描。额外检查Extra字段:Using index、Using filesort
点赞 评论 收藏
分享
分享我的面试经验
模拟面试
真实面试体验,快速补齐短板
应聘感受
暂无应聘感受
牛客网
牛客网在线编程
牛客网题解
牛客企业服务