首页 > 编程知识 正文

阿里java面试题(华为java开发面试题)

时间:2023-05-05 02:07:05 阅读:96318 作者:2549

偶然收到鹅厂的面试邀请,觉得鹅厂还行,帅哥美女多,就去面试了。

腾讯一面

1介绍自己做过的项目,通过这个项目学到了什么,对项目做了什么样的转化和贡献,项目的难点和复杂性在哪里,如何保证稳定性?

2 redis分发,如何保证数据一致性,数据持久性,如何选择持久性策略,分布式缓存,如何应对崩溃、碎片化。

3在类和方法中创建对象的区别,弱引用和强引用

ConcurrentHashMap 1.7和1.8的区别,并发HashMap的大小方法

并发容器推特_闲狗的博客-CSDN博客

MySQL如何设置乐观锁和悲观锁?

6 jvm参数配置,设置垃圾回收器

线程池的链表队列可以设置大小吗?

8 mysql事务隔离级别

脏:数据正在被修改。

幻想:数据在增加。

Spring动态代理、JDK动态代理和CGlib动态代理的区别。类不实现接口,但是spring已经建立了一个JDK动态代理,它会有什么样的影响?

Jdk内部反映了power对象,CGlib在哪里?给CGlib发送一个接口?回答的时候要回答强化作用。

10弹簧AOP示例

1cas实现方法

12锁升级-偏置锁-轻量锁-重量锁

13同步和锁定有什么区别,在什么场景下使用?

14付款回拨失败如何处理?

Canal和dubbo分别有15种使用场景

16分布式锁

17如何实现限流?

你能对接口进行压力测试吗,每个接口的最大QPS?

面试官的建议:

1要完整清晰地描述项目。

2基础不够扎实,不够深厚

准备充分之后再去面试会更好。

4没有亮点

5做好生意,也要学习基础知识,注意细节。

如果你不能回答不,就不要猜。

腾讯二面人

1 Mybatis执行sql的全过程,以及添加缓存后的执行过程。

2如何实现Dubbo服务的异步调用,NIO

3挥发性的基本原理

4 redis cqdxgz的底层实现是数组和链表的结构开头?

5下载并导出页面上的500万个数据。你会如何设计?

6假设索引的一个叶子节点存储了100条记录(id、姓名、年龄),如何快速找到id为60的记录?

7卡夫卡消费慢,然后有一批数据需要紧急处理。这个时候你会做什么?

如何扩展8 ConcurrentHashMap的容量?你看过源代码吗?

合作医疗与G1的区别

面试官的建议:

(1)1-3年,打好基础,jvm、jdk源码、cpu、计算机网络、socket通讯、操作系统,并追求点而不是面。

(2)3-5定位、框架和业务都要定位,是电子商务、金融还是社交。

(3)5-8定向深耕

腾讯的三面(导演的一面)

1描述一下你最近正在做的项目。

你曾经参与过开源项目的开发吗?

3面对面打开我的CSDN博客和Github,开始聊天。

腾讯四方(hr方)

1你收到过其他公司的录用通知吗,具体是哪个部门?

2期望薪资是多少?

3.描述一下你最近在做的项目和你负责的功能模块。

说说你的工作经历吧。

内部面试问题

java基金会

1.告诉我贵公司生产环境中的jvm参数是如何配置的,为什么配置;

2.如何证明自己的jvm参数配置合理,使用了什么工具或命令;

3.ParNew垃圾收集器算法和CMS垃圾收集器算法;

4.如何利用CMS垃圾收集器解决内存碎片问题;

5.垃圾收集使用什么算法(根搜索算法),哪些对象可以作为GCRoot,收集过程中的标记过程分为几个步骤。

6.如何检查java内存使用情况(jconsole、command jmap、jstack等。)

7.在JDK1.8中HashMap做了哪些改变,当HashMap使用红黑树的时候,CurrentHashMap和HashMap有什么区别?

8.Java的等待和睡眠有什么区别?

7.如果线程池中的阻塞队列已满怎么办(拒绝策略)?

9.Synchronized和AQS的异同,AQS如何实现公平和不公平,不公平锁定和旋转锁定分别解决了哪些问题;

10.为什么不能挥发;在多线程中用来加减一个整数?Voliatile和sy

nchonized有什么区别?synchonized和jdk提供的Lock包又有什么区别?

12、 线程池中的几种重要的参数及流程说明

13、 一次web请求响应中,那个部分最耗时,tcp握手?业务逻辑处理?网络延迟?数据库查询?浏览器解析?

14、NIOBIOAIO区别、线程模型?

15、Java1.8新特性了解哪些、项目中用过吗,如何使用

二 spring

1、 Bean的生命周期;

2、 什么是DI、为什么DI、DI的类型(构造器注入、方法注入);

3、 Spring boot和spring的差别,tomcat如何嵌入spring boot的/spring boot中的tomcat是如何启动的;

4、 Spring如何解决循环依赖问题;

三 mysql

1、 Join(inner、left、right)的区别?

2、 ACID,具体是啥意思?

3、 幻读和不可重复读的区别?

4、 如何保证Redis和数据库双写一致?

5、如何创建索引,索引字段该如何选择;

6、数据库的索引结构是怎样的,什么是聚簇索引,什么是非聚簇索引,关系是怎么样的,数据库的主键自增和索引结构的关系

7、慢sql该如何排查

8、数据库连接池数不够用了,是什么原因导致的

9、事物的隔离级别有哪几种,怎么选择?事务的传播机制有哪几种,怎么选择?

四 中间件

1、 秒杀项目会使用到哪些中间件?

2、 如何设计一个消息队列中间件?

3、 如何解决Redis缓存穿透的问题?

4、redis的主从同步是怎么实现的4

5、redis的持久化方式有哪几种,各有什么优缺点

6、有序集合是如何实现的

五 本地缓存

1.本地缓存和分布式缓存的区别,以及优缺点;

2.如果让你设计一个本地缓存,你怎么设计;

3.缓存如何设计?怎么避免缓存击穿?

4.缓存如何设计?怎么避免缓存击穿

六 分布式

1、 分布式系统的全局id如何实现?

2、 分布式锁用redis和zookeeper实现哪个好?高并发情况下哪个性能好?

3、 一致性hash?

七 设计模式

介绍你项目中用过的设计模式、描述清楚如何使用设计模式满足业务场景

八 项目

1.介绍你们公司的项目技术架构、业务架构

2.可预见项目在未来不足和改进方案

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。