手机版 欢迎访问it开发者社区(www.mfbz.cn)网站

当前位置: > 开发

2021Java高级面试题总结!花三分钟看完这篇文章你就懂了

时间:2021/5/24 14:43:28|来源:|点击: 次

1. 前言

最近面试了几家公司,体验了一下电话面试和今年刚火起来的视频面试

虽然之前就有一些公司会先通过电话面试的形式先评估下候选人的能力水平,但好像不多,至少我以前的面试形式100%都是现场面试

面试过程中,不可避免的被问到了很多面试题,本篇博客就总结下面试过程中被问到的关于String的2道面试题,分别是:

  1. 如何判断一个字符串中某个字符出现的次数?
  2. 如何反转一个字符串?

其余的面试题,目前都已梳理出来,后续会以博客的形式进行分享。

人生转折点

去年的时候,几个玩的好的老同学就聊了起来,其中有个考上了西安财大,读了新闻系,毕业后干了不久就想做了,原因很现实,既感觉不到前途,也感受不到任何钱途,索性就去报了一个线下培训班学前端,没选择学Java的原因主要是因为前端的可视化,不会看着枯燥,现在在上海工作了2年多,也有20k+的薪资。

我也考虑了几天,索性还是去报了个培训班,白天工作,晚上学习,反反复复7个月的线上培训,终于破茧成蝶。

刚开始每天面试5家公司,每天海投的简历,但我从来不按照预约时间去面试,利用周末两天整理邮箱中近60家公司地址,逐个百度位置,将距离近的公司排到一起,定到一天去面试。

大多HR都会问您预约的不是今天。我每次都会说:“刚好在咱公司附近面试就顺道过来了,如果不方便我就到预约时间点再来”,几乎所有HR都让我进去面试了。

第四天去了最好的一家公司,也是我的第一任东家,待遇还算不错12k,当时自己其实也只是一个小白,但相比于保安的工作薪资直接翻了2倍多,已经是很满足了。

今年由于新冠肺炎的影响,公司不得不延迟复工,心想着,我可以趁着这段时间好好学习一些更深入的技术知识,于是我又报了之前那个线上培训班,之前了解过他们做高级培训就做的很好,加上我刚入门也是选择的他们,整体感受是非常满意的。

为什么没选择自学?建议?

没选择自学主要是因为当时还有工作,也担心找不到一个学习方向,浪费太多时间,得不偿失。现在网上免费的资源确实很多,当我回头再看的时候却发现很多都是没有重点的,讲的也很干…接下来就跟大家简单分享一下对于自学者的学习建议吧。

1、对于0基础的朋友,我是不建议看书学习的,多看视频去学习,不信的话你可以自己尝试去买回来看,过不了多久估计就扔一边看不下去了。

2、不懂的地方反复看,还不懂可以百度或者去看相关的博客,因为我是报的培训班,有不懂地方直接可以问老师,老师引我思考,然后我就能理解了。

3、复习,对于自己学过的知识一定要复习,如果视频有配套的笔记,建议第二天再巩固一遍,自己也可以用word做笔记,写一写学习日志。

4、根据视频内容尝试画思维导图,大家可以去下载Xmind,思维导图能够帮你形成一个系统的学习过程,思路清晰,让自己有全局观。

上面是我刚入门培训班给我的学习路线,这当然只是1/6的内容,但是你会很清楚的知道你要学习什么内容,旁边的绿色就是实战内容,实战是帮助你巩固知识最有效的方法。

同时,养成这样的习惯不容易遗忘,很多人都是当时觉得学会了,但过一会儿又只知道几个名词。因此,思维导图能方便你日后的复习,提高复习效率,有效检索遗忘的知识点。

敲重点:

向对象是JavaSE的重中之重,里面的知识点个人认为是最难的。后面的知识点都是建立在这之上展开的,没学好面向对象,后面就会稀里糊涂。

  • **面向对象是基石,JavaSE中最重要的一是集合,二是IO,**希望大家学习这两个知识点时认真对待,多敲代码,多思考。
  • 常用API里,String及其相关类StringBuilder, StringBuffer等必须熟悉,后面会不断用到。不学好的话,后面怎么死都不知道!
  • 泛型一般只出现在集合中,个人觉得如果一时无法掌握,那么暂时会在集合中使用泛型就行了。
  • 反射对于初学者来说是非常抽象的!!但它又无比重要。它虽然不是JavaSE的重点,但是它是JavaWeb很多难点的底层支撑,不懂反射,寸步难行。

重点

  • 面向对象☆☆☆☆☆
  • 集合☆☆☆☆☆
  • IO ☆☆☆☆☆
  • String/StringBuffer/StringBuilder ☆☆☆☆☆
  • 反射☆☆☆☆☆
  • 泛型☆☆☆☆

熟悉

  • 异常
  • 多线程

先过一遍

  • 网络编程
  • 正则表达式

总结

哪些人适合自学?

我总结了以下适合自学的前提条件:

1、对于编程有兴趣,有足够的时间,至少一年以上,且不着急找工作的;

2、有较强自制力,能坚持自学下去的,三天打鱼两天晒网是绝对不行的,但据我了解,能坚持下来的人真的很少很少;

3、具备一定学历,最起码是高中以上。学习编程是要有一定的英语和数学基础的,同时现在面试对于算法面试几乎成了必问题,没有一定逻辑是难以坚持自学的;

哪些人适合培训班?

如果你不符合以上三点,我建议你选择报培训班,不然就劝你放弃。培训班最大的优势在于:省时、高效,培训机构通常会依据当前技术的发展现状、业界的人才需求变化情况,动态地调整教学内容,构建出一个比较完整的就业培训体系,能够让你在短短数月之内,带你入门。

作为一名写了二十多年代码,参加过大大小小的一堆项目,学过一打以上的各种编程语言或技术的老码农来说,我认为编程中充满了套路,只要能掌握这些套路,把这些套路用熟练,应付中低层次的软件开发工作是不成问题的。

而在传授开发套路这块,培训机构是比较高效的,只要你选的是靠谱的培训机构,人别太笨,基础别太差,培训老师手把手教你,经过几个月的强化训练,多数编程套路都能学会。

Spring全套教学资料

Spring是Java程序员的《葵花宝典》,其中提供的各种大招,能简化我们的开发,大大提升开发效率!目前99%的公司使用了Spring,大家可以去各大招聘网站看一下,Spring算是必备技能,所以一定要掌握。

资料领取方式:点击这里前往蓝色传送门

目录:

部分内容:

Spring源码

  • 第一部分 Spring 概述
  • 第二部分 核心思想
  • 第三部分 手写实现 IoC 和 AOP(自定义Spring框架)
  • 第四部分 Spring IOC 高级应用
    基础特性
    高级特性
  • 第五部分 Spring IOC源码深度剖析
    设计优雅
    设计模式
    注意:原则、方法和技巧
  • 第六部分 Spring AOP 应用
    声明事务控制
  • 第七部分 Spring AOP源码深度剖析
    必要的笔记、必要的图、通俗易懂的语言化解知识难点

脚手框架:SpringBoot技术

它的目标是简化Spring应用和服务的创建、开发与部署,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用的微服务功能,可以和spring cloud联合部署。

Spring Boot的核心思想是约定大于配置,应用只需要很少的配置即可,简化了应用开发模式。

  • SpringBoot入门
  • 配置文件
  • 日志
  • Web开发
  • Docker
  • SpringBoot与数据访问
  • 启动配置原理
  • 自定义starter

微服务架构:Spring Cloud Alibaba

同 Spring Cloud 一样,Spring Cloud Alibaba 也是一套微服务解决方案,包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

  • 微服务架构介绍
  • Spring Cloud Alibaba介绍
  • 微服务环境搭建
  • 服务治理
  • 服务容错
  • 服务网关
  • 链路追踪
  • ZipKin集成及数据持久化
  • 消息驱动
  • 短信服务
  • Nacos Confifig—服务配置
  • Seata—分布式事务
  • Dubbo—rpc通信

Spring MVC

目录:

部分内容:

2)]

[外链图片转存中…(img-OzFZdC76-1621838111743)]

[外链图片转存中…(img-HVVTmUwG-1621838111744)]

部分内容:

[外链图片转存中…(img-CkNENM6o-1621838111745)]

[外链图片转存中…(img-SO2LHagB-1621838111745)]

Copyright © 2002-2019 某某自媒体运营 版权所有