面试

作为面试官,我对面试者的感受是这样子的 哪怕事先只准备1小时,成功概率也能大大提升 本人最近几年一直在做java后端方面的技术面试官,而在最近两周,又密集了面试了一些java初级和高级开发的候选人,在面试过程中,我自认为比较慎重,遇到问题回答不好的候选人,我总会再三从不同方面提问,只有当反复确认能力不行才会下结论,相反,如果候选人给我的印象不错,我也会从多个角度来衡量,以免招进会说但不会干活的“大忽悠”。 其实倒也不是我故意要为难候选人,毕竟入职后就是同事,但面试官的职责使然,而且,如果资深的面试官一般也这样。 写到这里,恐.. 阅读详情

一、基础

1.接口和抽象类有什么区别?
接口(interface)代表一种能力,接口中的方法都用public来修饰,没有构造方法,不可实例化,接口中只有常量,且是public static final(共有静态常量)
接口的继承类必须实现接口中的所有方法。
一个接口可以继承多个接口,但不允许多重继承。接口直接的继承使用extends,普通类继承接口implements。
抽象类(abstract)可看作是一模板,可根据其格式来创建和修改新的类。
抽象类无法被实例化,类中可以有抽象方法,也可以有普通方法,可以有常量和变量。
一个类可以实现多个接口,但是只能继承一个抽象类。

2.equals()和==
这两个都是用来判断对象是否相等的。    
==:对于基本数据类型,比较的是数值,对于引用数据类型(string),比较的是内存地址是否相同。
在Object中定义的equals()方法是用==来比较对象的,但是在其他类中的equals()方法,都有自己不同的实现。
但都是首先用==来比较,如果是ture的话,equals()直接返回true,如果是false,则继续比较。
通过以上的说明,可以知道equals()与==的含义是否相同,要看比较的对象类型,如果都是Object类型,二者无差别,如果是String的话,二者有差别,equals()在进行==比较的基础上,还会建立一个char[],将字符串存入char[],然后逐一比对字符是否相同。如果都相同,即便==返回的结果为false,那么equals()返回的也还是true。

可以看Object,String,HashSet类中equals()的源码,String,HashSet覆写了equals()方法。

//Object
 public boolean equals(Object obj) {
        return (this == obj);
    }

//String
public boolean equals(Object anObject) {
        if (this == anObject) {
            return true;
        }
        if (anObject instanceof String) {
            String anotherString = (String)anObject;
            int n = value.length;
            if (n == anotherString.value.length) {
                //建立字符数组,一个一个进行比较,如果都相同返回true
                char v1[] = value;
                char v2[] = anotherString.value;
                int i = 0;
                while (n-- != 0) {
                    if (v1[i] != v2[i])
                        return false;
                    i++;
                }
                return true;
            }
        }
        return false;
    }

tip:就着上面的源码,可以多说一点,假设一个apple对象,有一个colour属性,在进行比较的时候:

apple.getColour().equals("red"),这样写不妥,如果apple的colour属性为null的话,会报空指针异常,因为null无法比较地址,应该改写成"red".equals(apple.getColour),这样就是用string的equals()方法来判断了。

另外:在集合(hashSet,hashMap)中,equals()与hashCode有关,在比较存入的元素是否重复时,还需要比较hashCode。

mark一篇文章,关于==,equals(),hashcode讲的超级全面:https://www.cnblogs.com/skywang12345/p/3324958.html

3.为什么java不允许多重继承。
可以说说diamond模型中,出现的继承歧义问题。
另外,最实际的原因,为什么java这样流行,不就是因为摒弃了c和c++的指针,并且gc可以自动回收垃圾释放内存等等原因,让java更简单了吗?允许多重继承,除了增加java的复杂性,还有什么呢。

4.String不可变?
String str = "abc";
str = "123";
简单理解,栈内存(str)中存的是对堆内存("abc"、"123")地址的引用。
String不可变,指的是"abc"不可变,str只是abc的引用,可以将其引用到其他的字符串。
奇思妙想的一个点:站在java设计者的角度来看,Map常常用String做key,Map的源码中说明如果mutable obj来做key的话,map就会乱套了,那么从这一点出发,String的值当然不可以随便改变。
int indexOf(str) 返回第一个出现的str所在index,-1
int lastIndexOf(str)
String[] spilt(String regex) 分割字符串
String substring(int begin,int end)
String trim() 去空格
String toUpperCase()
String toLowerCase()
String concat(str) 字符串拼接

5.String str = new String("abc")和String str = "abc"的区别
对象池:为了节约内存空间,"abc"会存入字符串池中,当新建一个字符串时,会首先到对象池中查找有无此字符串,如果有则取出,与str关联,如果没有则开辟新的内存空间,存储字符串。这样就达到了多个引用指向同一内存空间。
直接new一个sting字符串,无法自动入池。
"abc".equals(),只有对象可以调用方法,所以字符串是一个对象

6.String,StringBuffer,StringBuilder
StringBuffer:
    方法都是synchronized,线程安全(thread-safe),字符串长度和内容可以改变。
    StringBuffer有一个capacity
    StringBuffer append(String str) 字符串拼接,如果str为Null,则拼接的str为"null"

StringBuilder:
    方法与StringBuffer兼容,但是非线程安全
    可以看作对StringBuffer的替代,二者的差别只在与是否线程安全

StringBuffer和StringBuilder在用于拼接大量字符串时有优势,这个拼接指的是特定情况的拼接:

for (int i = 0; i < 100000; i++) {
    String str = "a";
    //进行100000次拼接,相当于str->"b"的连接,断开又连接100000次
    str+="b";
}

比如这样,就要断开又连接100000次,非常消耗性能。
使用StringBuffer则性能要高。
但应当注意,StringBuffer方法都加了synchronized方法,这肯定比String的方法要消耗性能,所以StringBuffer应当在特殊情况下使用,比如上述或是多线程。


7.重载和覆写
重载(OverLoad):方法名称相同,参数类型或个数不同,与返回值无关。在一个类之中,存在多个方法名相同的方法。
覆写(Override):是子类对父类方法的重新,通常是实现父类的抽象方法,子类的方法不能够比父类更严。

8.类和对象
类是抽象概念,可看作模板,对象才是在程序中占用内存。

9.final关键字
修饰类:此类成为太监类,不可有子类
修饰变量:此变量为常量,且必须在声明常量时赋值(initialized),一旦声明值不可改变
引用变量被final修饰后,此引用变量不能再指向其他值


10.private public protected default

private:通常修饰属性,只有当前类可以访问
public:都可访问
protected:为继承而设计,子类可以访问,同包类可以访问
default:同包类可以访问,非同包不可以访问

【面试系列三】面试是面试者与面试官的双向沟通,如何抓住面试官的小尾巴以及面试过程中需要避开的一些减分项! 总结了13条经典面试的回答套路让你在面试时有效地展示自己的才华,把握秋招珍贵的机会! 1.谈谈你的简历(自我介绍) 可以根据以下三个步骤去回答问题,而且用不超过3分钟来阐述。 简单开场:包括基本的教育经历和一些基本信息,一到两句就可以了。 为什么要进入这个行业:比如说做过什么实习,参加过什么比赛,有过什么特殊的经历。 举一个最有代表性的例子来证明。 “我曾经申请了XXX公司,并在那里做了暑期的营销工作。帮助公司在一个月内取得了XXX成果。所以,我想要做一些和市场营销方面更相关的事情,并且不断通过 阅读详情

相关推荐

腾讯前端面试总结+面试指导

简单介绍下自己 深圳大学18届计算机与软件学院毕业,本科学历,在校成绩一般,唯一的优点可能是科班出身,工作经历复杂,两年三跳,项目经历单一,可见找工作不好的几个点我基本上都有了,但就是这样的情况,我最终还是凭借自己的努力拿到了鹅厂的offer!算是实现了自己的梦想! 接下来,我打算以写简历为线索,跟大家分享我是怎么对待我的问题,以及我是如何写简历的。 简历准备 简历基本信息 这部分内容要精简,1-2行可描述完,包括年龄,现居住城市地区,工作年限,如果有博客地址可以放一下,最后最重要是联系方..

lg197999的博客 703

【春招面试篇】大厂面试干货分享

本篇文章主要讲解了对于最近春招的面试经验分享,包括怎样投递简历,面对不同的公司需要怎样写不同的简历?以及技术面试和HR面试需要准备什么

杭电码农-NEO的博客 5789

thoughtworks面试总结

   马上明年四月就要研究生毕业了,所以现在也已经要开始找工作了,目前投了一些互联网公司,其中第一家叫我面试的是thoughtworks,也算是相当于把人生的第一面给了thoughtworks,现做记录如下: 一、homework    内推的时候我以为是正常网申所以提交了个人简历,然后下载作业自按规定时间交了上去,没想到一直没有消息,我就登上官网又看了一次,发现又可以重新下载和上传作业。所以...

sinat_22499649的博客 7229

Python面试经验总结,面试一时爽,一直面试一直爽!

有伙伴问过我Python面试相关的问题,这里也跟大家总结了一下,跟大家说说我之前的面试经历和心得体会: 1、简历制作 我做了两份简历,用两个手机账号,两个简历名字,分别在各个招聘网站投了双份简历,一个是数据分析的简历、一个是web全栈开发的简历,我真正接触python好几年了,不管是学习还是工作学到的东西,这几年大概掌握了(前端+django+爬虫+数据分析+机器学习+NLP+Linux)技术,技...

chen801090的博客 3747

【过关斩将】面试官的八个举动,暗示你已经通过了面试

前言 很多小伙伴面试回来让我复盘自己是否通过面试,每次我都会问几个问题: 面试官最后一个问题是什么? 你有没有问面试官,本次面试的面试周期是多长,是否还有复试? 通过这两个问题基本上就可以判断学员本次面试的通过率了,当然还有其他的方法,今天我们就一起来探讨下,如何通过面试官的举动,来判断自己是否通过了面试。 面试是否通过的关键性指标 1. 面试时间较长 很多学员去面试,面了一个半小时,回来问我会不会成,虽然面试时长并不能确保百分百通过,但一个面试官如果能够面试一个小时,基本上说明面试官对你还是很感兴趣

互联网老辛 1万+

25杰瑞机械工程师面试经验机械面试问题总结技巧面试全攻略

作为一个对机械工程充满热情的应届生,我有幸参加了杰瑞集团的机械工程师面试。面试过程既充满挑战,也不乏乐趣。以下是我面试的详细经历,包括面试流程、面试题目及参考答案。 #### 面试流程 1. **HR初面**:主要是对个人背景、教育经历和工作经验的初步了解。 2. **技术面**:由技术部门的主管进行,主要考察专业知识和项目经验。 3. **部门经理面**:更深入地了解我的技术能力和团队合作精神。 4. **总监终面**:最后一轮面试,总监会对候选人的整体素质进行评估。

m0_72216164的博客 2794

面试中可以问面试官的问题

面试中,可以问面试官的问题 1、不要直接说“我没有问题了” 这样回答有2个负面影响: 第一,你居然不想知道详细的、切身利益相关的、在公司网站和媒体无法获知的情况?这可能会让面试官认为你对这个职位的兴趣并不大。 第二,很多公司都非常注重员工的个性和创新能力,回答“没问题”,可能会让面试官认为你是一个“没想法”的人,给你贴上否定的标签。 2、一定不能问很容易在网上搜到答案的问题,如业务,产品 千万不要...

Cheng_MY的博客 1万+

25博世机械结构面试最常见面试问题总结 校园招聘机械面试最全攻略综合面试

以下是博世机械面试问题及详细答案: 1. **自我介绍**:您好,我叫XXX,毕业于XXX大学的机械工程专业。在校期间,我专注于机械设计、制造及其自动化的学习,并参与了多个校内外项目,如“XXX”项目,担任主要设计师,负责结构设计与优化。我对机械领域充满热情,尤其对机械结构设计有浓厚的兴趣和一定的研究。我相信我的专业知识和实践经验能够为贵公司带来价值。 2. **博世的主营业务**:博世是全球领先的技术和服务供应商,业务涵盖汽车与智能交通技术、工业技术、消费品以及能源与建筑技术领域。在汽车领域,博世提

m0_72216164的博客 1642

主动推迟面试时间是面试的大忌

主动推迟面试时间是面试的大忌 相信很多人都遇到过面试时间不合适的情况,该怎么处理呢? 最近国内互联网的春招活动陆续开始了,也有很多学生有关注我的号,然后提交了内推信息。先同步一下内推进度:截止到群发本文的时间,所有成功提交信息的都已内推成功。 请提交信息的各位留意邮箱里腾讯官方发来的邮件,务必点击邮件里的链接接受内推。 请还未收到邮件的去垃圾箱看看,还没有的话微信私聊我跟进(WeChat:wxdu...

企鹅肖 2万+

量化交易中的烂板策略:短线高频交易实战解析

量化交易通过算法模型实现自动化投资决策,其中短线高频交易是典型应用场景。从市场微观结构看,涨停板现象反映了资金博弈的动态平衡,而烂板策略正是捕捉涨停板短暂打开时的交易机会。该策略结合L2行情数据和Python量化框架,通过参数化规则识别特定形态的烂板股票,在风险可控前提下追求超额收益。实战中需严格遵循动态仓位管理和止损纪律,适用于A股市场短线交易。高频交易与量化分析技术的结合,为投资者提供了新的alpha挖掘工具。

weixin_30432579的博客 365

零基础学simulink仿真建模--基于Simulink进行农业机械用开关磁阻电机的仿真建模

特点结构简单:无电刷、换向器等易损件,维护成本低。坚固耐用:适合恶劣的工作环境,如农业机械作业现场。宽调速范围:通过适当的控制策略可以实现较宽的速度调节范围。挑战非线性特性:SRM的电磁特性和转矩特性具有高度非线性。复杂性:涉及电气、机械动力学以及控制系统的设计与集成。实时性要求:需要快速响应以适应不断变化的操作条件。多变量优化:包括电流控制、速度控制等多个方面需综合考虑。使用Simscape Electrical库来构建一个开关磁阻电机模型。

amy_mhd的博客 909

面试中出现这些信号,表明你面试通过了

我觉得面试有没有成功这种事情,我们在面试完以后,是大概可以感知出来的,鉴于有些小伙伴经验可能没那么丰富,这里就列举一下,面试成功的那些信号,供这类小伙伴作为参考:1、面试官主动向你介绍公司...

liudada8265的博客 1万+

Gartner 2025 中国网络安全成熟度曲线深度解读:AI 安全如何重构防御逻辑

2025 年 Gartner 中国网络安全技术成熟度曲线的发布,标志着国内网络安全领域正式进入 “AI 原生防御” 时代。这份聚焦中国市场特性的报告清晰揭示:网络安全的核心命题已从 “防御 AI 驱动的攻击” 演进为 “保障 AI 系统自身安全与业务协同”,AI 安全技术正成为重构企业防御体系的核心引擎。

KKKlucifer的博客 1387

大厂面试官告诉你,这些问题,你最好别在面试时候问

和刚参与面试工作时的羞涩相比,现在的我也俨然成为一个老油条了,一边给应试者题目和提示,一边天马行空地想想“午饭吃什么”。 哎,先别说我不负责任,该给的提示和要求我都会讲得明明白白。有些人对面试和面试官过于上心,以至于连最基本的要求都没听清楚,这样挂了也是可惜。 不过作为一位从业十余年,在coding, problem solving, behavior,design...

九章算法的博客 5656

4×V100部署Qwen3.8-Flash-Next:vLLM/GGUF实战

大模型本地部署的核心,是把参数量、量化精度、显存容量和推理框架放在同一张账本里算清楚。MoE 模型总参数量大但激活参数少,解码阶段更受显存带宽与 KV Cache 限制;通过 INT4/AWQ 或 GGUF 等 4-bit 量化可显著压缩权重占用,再结合 vLLM 张量并行、llama.cpp 分层切分提升多卡利用率。其技术价值在于让 V100 这类老架构 GPU 也能承载百亿级参数模型的私有化推理,并服务于 RAG 知识库、工作流 API、批量生成等场景。这次围绕 4×V100 32G 部署 Qwen3.

weixin_29061425的博客 349

Qt代码-软件商店

ui->statusBar->showMessage(QString("%1 已卸载").arg(app["name"].toString()));ui->statusBar->showMessage(QString("开始下载 %1...").arg(app["name"].toString()));QString("%1 已下载完成,是否立即安装?ui->statusBar->showMessage(QString("%1 下载完成").arg(app["name"].toString()));

寒寒豆豆软件公司的博客 111

【求职面试】如何进行专业面试,求职面试需要注意什么?

 这是一个表现你对这个公司、这份工作看法的机会。回答应使考官确认你具备他要求的素质。同时招聘者可明白面试者对这份工作的热忱及理解度,并筛选因一时兴起而来应征的人,如果是无经验者,能够强调就算职种不一样,也期望有机会发挥之前的经验。求职者可从对工作的研究与个人兴趣的角度,加以发挥。

周文龙的博客 956

海康DS-7604N-K1/RTB固件包

【摘要】海康DS-7604N-K1/RTB萤石云设备发布V4.30.091版本升级程序(2022.09.19),仅适用于指定型号。升级前需先升级至V3.4.106基础版本,刷机会重置设备为未激活状态,需重新设置admin密码。该机型支持密码/手势登录,无密码时可通过U盘升级。注意事项:升级存在风险,需确认程序适用性;升级过程严禁断电;必须阅读压缩包内的刷机说明。此为定制机型,非必要不建议升级。(150字)

海康威视技术支持 1575

关于面试!

约面试   首先说到的是约面试。没错,每一个环节我都不会错过,首先讲的就是如何预约面试以及面试前的情况。   约面试通常情况下有三种方式:文字聊天、邮件通知、电话通知。最正式,也是正规的就是邮件形式通知。其他两种形式多以确认和提醒的形式出现。流程如下:   通过在网络上获取了简历筛选通过的通知,等待HR的面试邀请,HR会首先在APP或QQ的方式寻找你,然后跟你确认基本情况;再电话联系(一般使用公司电话,个别情况为个人手机),语音方式约定面试时间地点;最后使用正规的公司企业邮箱来邀请你到公司来面试,详情

qq_39581763的博客 1311

杰理AC695N芯片跑iic接口的oled驱动分享

本文介绍了一个基于IIC接口的0.96寸OLED显示屏驱动程序,适用于SSD1306控制器。驱动采用软件模拟IIC方式,支持字符、数字、字符串、汉字和图片显示,测试平台为杰理AC695N系列芯片。硬件参数包括128×64分辨率,IIC接口(地址0x78),使用IO_PORTA_02(SDA)和IO_PORTA_03(SCL)引脚。驱动包含OLED主文件(oled.c/h)、软件IIC实现(soft_iic.c/h)和字体/图片数据文件(oledfont.h/bmp.h),可通过修改soft_iic.h中的引

qq_42014563的博客 882

基于深度学习的AI生成式人脸图像鉴别

AIGC(AI内容生成)技术的快速发展确实为创作者提供了高效生产力工具,但同时也引发了一些问题和挑战。这些技术可以生成以假乱真的图像、视频换脸等,给不法分子提供了滥用的机会。其中,一些不法分子可能利用AIGC技术制造虚假新闻、违反版权、绕过活体身份验证、散布谣言和诽谤他人、进行敲诈勒索等非法活动,以谋取不当利益。这些行为给社会造成了严重的负面影响,破坏了信息的真实性和可信度。因此,我们需要认识到AIGC技术的潜在风险,并采取相应的措施来应对。

mingo_敏 4496

【面试】——Java面试题内容总结

往期内容聚合 设计模式内容聚合 面试技术文 Java岗 面试考点精讲(基础篇01期) Java岗 面试考点精讲(基础篇02期) Java岗 面试考点精讲(网络篇03期) Java 面试中遇到的坑 Java面试中遇到的坑【填坑篇】 Java面试中遇到的坑【篇二】 java面试遇到的坑[第三期] java面试填坑解惑篇[三] java面试遇到的坑[第四期] 面试官:你分析...

我爱吃土豆 5921

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

作为研发面试官,亲自教你面试技巧

前几天看到了一篇关于如何准备面试的文章,分享给大家。尽管很多人都讨厌 ”面试造航母,工作螺丝钉“的局面,但又不得不收起脾气假笑面对。谁让谁僧多粥少呢? 2020春招过半,面试也进行了两场,在整个面试过程中,我不断被同学问到各式花样问题: “什么才是研发面试考察的核心?” “考前究竟要不要刷题?” “如果跨专业面试要怎么办?” “如何更好地描述项目经历?” “面试中有哪些面试雷区?” ...... 眼看新的一轮面试即将开始,那些在心中憋了很久的话,今天我不得不说! 一、代码能力是研发面试考察

weixin_48892816的博客 2135

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

初次面试初生牛犊不怕虎,居然觉得面试就是聊天?

初次面试初生牛犊不怕虎,居然觉得面试就是聊天? 前言:文章后有最近我收集的一些题目,并且在近期的提前批面试和笔试中都遇到了,快快收藏! 1.面试时,为什么没必要紧张? 第一、从心态上你要把这次面试看做一次练习,成败都可。毕竟,说实话,面试成功是小概率事件,按照一个人面试十家公司成功一家来看,每家成功的概率只有10%。所以,完全没有必要紧张。 第二、面试官在跟你交流的时候,并不会将你说的每个字都记在心里。毕竟,他也有工作压力,他可能在想:“下午开会,怎么跟老板交代的问题”。面试官多数时候,是处于一个完全放松的

ILOVEMYDEAR的博客 1665

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

面试结束后,如何向面试官提问? 来自面试官的灵魂提问:你还有什么想问我的吗?

面试结束后,如何向面试官提问?技术面试hr面 一般在整个面试即将结束的时候,面试官无论是出于礼貌,还是其他原因,会习惯性的问一句:你还有什么想问我的吗? 如果真的没问题了可以微笑着说:原本是有一些问题的但是刚才与您热情而专业的交谈后,我的问题都得到了解答 技术面试 1.我想问一下,咱们部门的主要业务场景是哪些,一般会用什么技术框架? 2.一般咱们公司的晋升路径是怎样的? 3.咱们团队有多少人,大概是怎么样的分工? 4.如果我来这边,大概会负责哪块的业务? 5.咱们这边目前代码管理是使用什么工具,以及团队管理

mighty_Jon的博客 1932

面试总结

(2017/9/25 更新 乐信 远程面试)

Programmer 3190
上一篇: cento7命令
下一篇: String,StringBuffer,StringBuilder
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值