北漂三年!普通Java程序员跨城市面试经历和题库总结,javamq消息队列面试题

这里的数据库包含两种,一种一般是MySql,另外是NoSql数据库,包括Redis、MongoDB等。一般会问的问题有:

  • inner join和left join等的区别

  • SQL调优,explain,profile等

  • InnoDB和Myisam的区别

  • ACID

  • 数据库的事务隔离级别,以及他们分别能解决什么问题

  • Redis的几种数据结构

  • Redis是单线程还是多线程

  • Redis的持久化

  • 悲观锁和乐观锁的含义

  • 最左前缀索引,索引的数据结构,聚簇索引等(这块还没搞明白)

3.1.4 框架

3.1.4.1 Spring

因为Spring是我们常用的框架,所以这块的内容会问的比较多,也会比较细。

  • Spring的两大特性(IoC和AOP)

  • Spring的bean的生命周期

  • Spring是如何解决Bean的循环引用问题的

  • AOP的两种实现方式,以及两者的区别(这里其实使用了动态代理,具体动态代理分为两种,一种是JDK的动态代理,主要使用的是JDK的反射,还有一种是CGLib,两者区别可以自己搜索,文章比较多)

  • AOP一般的使用场景

  • Spring的事务原理

3.1.4.2 MyBatis

这块问到的比较简单些:

  • $和#的区别

  • MyBatis和Hibernate的区别

  • 源码,一般问的比较少

3.1.4.3 Dubbo

因为平时自己用到了Dubbo,所以这块会有问到:

  • RPC的原理

  • Dubbo是如何完成远程调用的

  • Dubbo如何进行调优

  • Dubbo的通信协议

  • Dubbo是如何实现负载均衡的

3.1.4.4 ZooKeeper

  • ZK的使用场景

  • ZK的选举机制

  • ZK的节点类型

  • 一致性Hash原理

3.1.5 数据结构和算法

这块的内容是基础,如果面试官怀疑你的能力,一般一会问到这部分内容,比如树的遍历、快速排序等。

3.1.6 linux

一般会问一些命令的使用,然后会举一个实际的场景,让你用命令去排查问题,这块自己不是很熟,需要尽快加强。

3.1.7 综合题

这块的题目,面试官一般会问的比较深入。比如如何设计一个抢购系统,String转Integer等,这部分需要考验的就是一个人的临场应变能力,以及在平时工作中系统设计能力的积累,以及考虑问题是否周到等。也有可能会对你简历上面写的系统的设计进行详细的询问,所以在你写简历的时候,千万不能把自己不熟悉的内容写上去,而且自己又讲不清,这样一般会被直接pass掉。

当然也会问一些常用的maven的命令,设计模式的题目(这部分问的比较多的就是单例模式)。

3.2 HR面试

这块一般会问一些离职原因,当然也会问一些平时工作中遇到的问题,自己是如何解决的。如果聊得好,这时候HR会跟你谈薪资。问到目前薪资的时候,我目前是实事求是的告知的。这里,可能会有很多人报高一些,差不多的话,问题一般不大,如果太夸张的话,后续可能会有问题,比如让你提供银行流水等,差太多的话,可能会有诚信问题。

另外就是薪资涨幅的问题,我的原则是会事先对公司的规模这块进行考虑,然后结合目前的薪资,一般会设置一个范围(后来发现这样很不好,会处于被动),在当前薪资的基础上上浮30%的样子(可能各地有差异,不过这个会比较安全)。如果你很擅长谈这个,请忽略之。

此外,最重要的可能就是五险一金的缴纳了。一般小的公司会让你选择是避税还是不避税,这里面还是有点学问的。避税的话,可能你的公积金会很少。目前我遇到过两种,一种是每个月按照固定的额度给你交公积金,不论你以后的工资是否上涨,都跟公积金没有关系;还有一种是按照一个额度给你交,一般是工资的7%给你交,或者按照最低标准给你交。遇到这种情况,请自己慎重考虑是否需要接收offer。

最后,福利这块也可以问问,比如问一些年终奖,年假,加班调休等。

四、最后

====

最后还要说几句。

面试的时候最重要的是诚实。自己不会的就说不会,然后可以自己尝试着说出一些自己的思路,如果没有思路,也直说,人无完人,不可能面面俱到,因为你胡编的话,再深入问一下,你就露馅了。

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
img

(img-l2lxVPFT-1710920121109)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
[外链图片转存中…(img-mjXWepy9-1710920121110)]

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt和Java都是平台的应用程序开发框架,它们的优势和缺点如下: Qt平台的优势: 1. 平台性能强:Qt提供了很好的平台支持,可以在多种操作系统上运行,包括Windows、Linux、macOS等,同时性能表现也很不错。 2. 界面美观易用:Qt提供了一套美观易用的界面库,开发者可以很容易地设计出漂亮的用户界面。 3. 多语言支持:Qt支持多种编程语言,如C++、Python、JavaScript等,可以满足不同开发者的需求。 4. 丰富的组件库:Qt提供了丰富的组件库,包括网络、数据库、图形、多媒体等模块,可以满足各种应用程序开发的需求。 Qt平台的缺点: 1. 学习门槛高:Qt的学习曲线比较陡峭,需要开发者具备一定的编程基础。 2. 编译过程较慢:Qt的编译过程比较慢,尤其是在较老的机器上,开发者需要有耐心等待。 Java平台的优势: 1. 平台无关性强:Java的平台无关性非常强,可以在各种操作系统上运行,包括Windows、Linux、macOS等。 2. 开发效率高:Java提供了丰富的类库和开发工具,可以提高开发效率,缩短开发周期。 3. 良好的安全性:Java拥有良好的安全性,可以有效地防范安全漏洞和攻击。 4. 支持多线程编程:Java提供了对多线程编程的支持,可以编写出高效的并发程序。 Java平台的缺点: 1. 性能较低:由于Java平台机制,导致其性能较低,尤其是在处理大量数据时。 2. 内存占用较大:Java的内存管理机制导致其内存占用较大,需要有一定的硬件资源支持。 3. 与底层硬件交互困难:Java平台机制导致其与底层硬件交互困难,不能很好地调用底层系统资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值