ITPub博客

首页 > 数据库 > 数据库开发技术 > 招银科技二面 + HR面,半小时通关。

招银科技二面 + HR面,半小时通关。

原创 数据库开发技术 作者:拓跋阿秀 时间:2024-09-12 10:00:00 0 删除 编辑

校招八股文学习网站:https://interviewguide.cn

大家好,我是阿秀。

很多人都知道银行/国企的面试比之互联网来说难度要低上不少,尤其是一些本来打算去互联网工作的同学,在经历了每天被各个互联网面试官按在地上摩擦,转而去投递银行国企,结果面试结束后惊讶得发现这两者难度根本不在一个等级上。

今天分享一位读者的招银网络科技二面 + HR面投稿文章,这位读者二面+ HR 面用了不到半小时就一起通关了。

二面结束后面试官让他等一会,这位读者还奇怪了一下,难道是当场给结果吗?结果不到3分钟就换了个面试官,一问之下才知道原来这是HR面,刚才的二面已经过了,HR刚好在旁边,所幸就一起面了。。。

据这位读者所说,二面+HR面的问题基本都在阿秀的学习笔记网站射程之内,也就是说面试问题基本都可以在阿秀的学习笔记网站上,相当于是开卷考试了。

阿秀学习笔记网站是我研二那年的学习笔记 + 参加校招面试汇总而成的,很多人都是校招结束才发现我的网站上原来有很多他们不久前刚面试完的问题和参考答案,结果相见恨晚了。。。

这里再次安利一下阿秀以前的学习笔记网站,目前也是开源状态,大家不要因为是免费的,不需要花钱就觉得质量不怎么样,实际上阿秀已经坚持做网站笔记内容勘误超过 3 年了,质量绝对比网上大多数所谓的八股文质量强得多。

阿秀的学习笔记网址:https://interviewguide.cn/

好好利用我的学习笔记网站,拿一个年薪在 25-30W 的offer并不是什么难事。。。

招行二面

1、Java中==和equals的区别

对于基本数据类型,==比较的是他们的值。

基本数据类型没有equal方法;对于复合数据类型,==比较的是它们的存放地址(是否是同一个对象)。equals()默认比较地址值,重写的话按照重写逻辑去比较。

2、C和C++编译函数的区别(gcc和g++区别)

函数重载

C++ 支持函数重载,即在同一个作用域内可以有多个同名函数,只要它们的参数类型或参数个数不同即可。

C 语言不支持函数重载。在C语言中,如果有两个同名的函数,它们必须在不同的文件中或者有不同的名称。

默认参数

C++ 允许在函数声明时为参数指定默认值,这样在调用函数时可以省略这些参数。C 语言不支持默认参数,所有参数都必须在函数调用时明确提供。

构造函数和析构函数

C++ 支持构造函数和析构函数,这些特殊的函数在对象创建和销毁时自动调用。C 语言没有构造函数和析构函数的概念,需要手动编写初始化和清理代码。

3、全局变量和一个局部变量同名了,会不会编译报错?

全局变量和局部变量同名本身不会导致编译错误,但是这种情况可能会导致在理解和维护代码时出现意外情况,比如遮蔽和作用域。

遮蔽(Shadowing)

  • 当全局变量和局部变量同名时,局部变量会遮蔽全局变量。这意味着在局部作用域内,对同名变量的引用将指向局部变量,而不是全局变量。
  • 这不是编译错误,但可能会导致逻辑错误,因为程序员可能期望引用全局变量,但实际上引用的是局部变量。

作用域

  • 全局变量在整个程序中都是可见的,而局部变量只在定义它的函数或代码块中可见。
  • 如果在函数外部定义了一个全局变量,然后在函数内部定义了一个同名的局部变量,那么在函数内部对变量的引用将指向局部变量。

4、数组链表的区别

略

5、动态编译和静态编译?

编译时间、执行效率、灵活性等方面都有所不同,简单说来如下。

编译时间:

  • 静态编译:在程序运行之前,所有的代码都被编译成机器语言。这意味着编译过程在程序执行前完成。
  • 动态编译:代码在运行时才被编译成机器语言。这通常涉及到即时编译(JIT,Just-In-Time Compilation)技术。

执行效率:

  • 静态编译:由于代码在执行前已经编译成机器语言,因此执行效率通常较高,因为不需要在运行时进行编译。
  • 动态编译:可能在运行时需要额外的时间来编译代码,这可能会影响程序的启动速度和性能。但是,动态编译器可以优化代码以适应特定的运行时环境,这有时可以提高执行效率。

错误检测:

  • 静态编译:编译器可以在编译时检测到大部分语法和类型错误。
  • 动态编译:错误可能在运行时才被发现,这可能导致运行时错误。

6、你知道的常见算法

查找、排序、递归、搜索、贪心、回溯、动态规划等。

7、快排,归并,堆排序,冒泡哪个是不稳定的?

稳定性指的是排序算法在比较元素时,如果两个元素的排序标准相同(比如关键字),那么它们在排序前后的相对顺序不会改变。所以快排、堆排序不是稳定的,儿归并、冒泡排序是稳定的。

8、数据库的事务acid(展开把日志说了)

1、原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。。事务在执行过程中发生错误,会被恢复(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。

2、一致性:在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。这表示写入的资料必须完全符合所有的预设规则,这包含资料的精确度、串联性以及后续数据库可以自发性地完成预定的工作。

3、隔离性:数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务隔离分为不同级别,包括读未提交(Read uncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(Serializable)。

4、持久性:事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。

9、隔离级别(把脏读,不可重复读和幻读说了)

未提交读

事务中发生了修改,即使没有提交,其他事务也是可见的,比如对于一个数A原来50修改为100,但是我还没有提交修改,另一个事务看到这个修改,而这个时候原事务发生了回滚,这时候A还是50,但是另一个事务看到的A是100.可能会导致脏读、幻读或不可重复读

提交读

对于一个事务从开始直到提交之前,所做的任何修改是其他事务不可见的,举例就是对于一个数A原来是50,然后提交修改成100,这个时候另一个事务在A提交修改之前,读取的A是50,刚读取完,A就被修改成100,这个时候另一个事务再进行读取发现A就突然变成100了;可以阻止脏读,但是幻读或不可重复读仍有可能发生

重复读

就是对一个记录读取多次的记录是相同的,比如对于一个数A读取的话一直是A,前后两次读取的A是一致的;可以阻止脏读和不可重复读,但幻读仍有可能发生

可串行化读

在并发情况下,和串行化的读取的结果是一致的,没有什么不同,比如不会发生脏读和幻读;该级别可以防止脏读、不可重复读以及幻读

10、项目的数据是哪来的?

略

11、有ftp文件传输,为什么还要tcp呢,两者的区别?

一个是传输层,一个是应用层的协议;一个是提供服务的,一个是用他人服务的,当然不一样。。。

阿秀补充:

TCP 是一个更底层的、通用的传输层协议,而 FTP 是一个应用层协议,专门用于文件传输。

FTP 依赖于 TCP(或其他传输层协议)来实现其文件传输的功能。如果没有 TCP 这样的传输层协议,FTP 将无法在网络上可靠地传输文件。

以下是它们的主要区别:

  1. 协议层级:

  • TCP 是一个传输层协议,是互联网协议套件(TCP/IP)的核心组成部分之一。它负责在网络中的两个主机之间提供可靠的、有序的和错误检测的数据传输服务。
  • FTP 是一个应用层协议,它使用TCP(或其他传输层协议)来实现其功能。FTP 依赖于 TCP 来确保数据的可靠传输。
  • 功能:

    • TCP 提供的是端到端的数据传输服务,它确保数据包正确无误地从源传送到目的地。TCP 通过三次握手建立连接,使用序列号和确认应答机制来保证数据的顺序和完整性,以及使用流量控制和拥塞控制来管理数据传输。
    • FTP 是一个用于文件传输的高级协议,它允许用户上传、下载、删除、重命名等操作文件。FTP 通常使用两个端口:一个用于控制连接(通常是端口21),另一个用于数据传输。
  • 连接方式:

    • TCP 可以支持两种类型的连接:面向连接的(如 TCP)和无连接的(如 UDP)。TCP 是面向连接的,这意味着在数据传输之前必须建立一个稳定的连接。
    • FTP 通常使用面向连接的方式进行文件传输,它在传输文件之前需要建立一个控制连接,并且在需要的时候还会建立一个数据连接。
  • 安全性:

    • TCP 本身不提供加密或认证机制,它只负责数据的可靠传输。安全性通常由应用层协议(如 FTPS 或 SFTP)或传输层安全协议(如 TLS/SSL)来提供。
    • FTP 有多种版本,包括传统的 FTP(不安全,数据以明文传输),FTPS(在 FTP 上增加了 SSL/TLS 加密),以及 SFTP(SSH 文件传输协议,使用 SSH 协议进行加密传输)。
  • 用途:

    • TCP 是一个通用的传输层协议,几乎所有的网络通信都会用到它,不仅仅是文件传输。
    • FTP 是一个专门的文件传输协议,它的设计目的是为了在网络上的计算机之间传输文件。

    12、实习做了什么?

    直接开始掏出我准备已久的说辞balababal,其实就是打杂。。。

    招行HR面

    1、职业规划

    2、本科成绩和研究生成绩奖项和证书(把高数线代自控都说了),

    3、研究生课题

    4、实习有没有达到你的预期

    5、你的爱好

    6、你遇到最大的困难怎么解决

    7、有没有其他公司的offer

    8、想做技术还是业务

    9、老家哪的,是不是独生子,家里人对出来到大城市打拼支持?

    10、还有什么想问的吗?

    你好,我是阿秀,普通学校毕业,校招时拿到字节跳动SP、百度、华为、农业银行等6个互联网中大厂offer,这是我在校期间的编程学习之路,详细记录了我是如何自学技术以应对第二年的校招秋招的。

    毕业后我先于抖音部门担任全栈开发工程师,目前在上海某外企带领团队继续从事全栈开发,负责的项目顺利盈利 300w+。在研三那年就组建了一个阿秀的学习圈,一直持续分享校招/社招跳槽找工作的经验,都是自己一路走过来的经验,目前已经累计服务超过 3900 +人,欢迎点此了解一二。

    原文作者:拓跋阿秀;如有侵权,请联系管理员删除。

    请登录后发表评论 登录
    全部评论

    注册时间:2020-11-28

    • 博文量
      429
    • 访问量
      181385