,实习和正式 offer 之间还是有蛮大差别的,去小厂的话,有更大的概率接触到核心业务,以此来增加自己秋招的竞争力。但去大厂,更大概率就是打杂,需要自己竖起耳朵,多听多问多沉淀,才能不会显得走过场。
于是,有不少同学在选择实习 offer 的时候,开始对大厂 title 祛魅了,更注重最后的结果,比如说到底能不能转正?能不能接触到核心业务?能不能对秋招加分?
不想这个履历最后成了混日子,还耽误自己的秋招进程。
当然了,不管怎样,华为依然是很多同学的第一选择,那刚好二哥的编程星球里就有一位球友参加了华为的暑期实习面试,我把他的面经分享出来,给 25 届、26 届的同学作为一个参考。
让天下所有的面渣都能逆袭 😁
能看得出来,华为的暑期实习相对其他互联网大厂来说还是比较简单的,问的问题也很中规中矩,比如说学校的课程、编程语言、技术栈,这些很好回答。
然后项目的话,也几乎不会刨根问底,只要回答的有模有样就速通了。剩下的就是等流程,华为的流程是出了名的慢,有的能拖半年之久,所以速通华为的同学也不要掉以轻心,还是要做好两手准备。
大学期间我学过的课程有计算机基础方面的数据结构与算法、操作系统、计算机网络、计算机组成原理和编译原理;软件开发方面有 Java 面向对象编程、数据库原理和应用、软件工程、Web 开发等。
编程语言我主修的是 Java,后面我又接触到了 Spring Boot、MyBatis-Plus、MySQL、Redis、ElasticSearch、MongoDB、Docker、RabbitMQ 等一系列 Java 技术栈,让我的编程能力有了很大的提升。后来就有了技术派这个社区项目。
技术派实战项目
这样我就可以作为创作者把自己在学习 Java 过程中的经验心得通过文章/教程的形式发布出来,同时读者还可以通过评论、点赞、收藏的形式和我进行互动。
除了我前面提到的技术派,我还做了一个轮子项目 MYDB,一个 Java 实现的简单数据库,部分原理参照了 MySQL、PostgreSQL 和 SQLite。
来自二哥的编程星球
目前实现的功能有:
这个过程让我对 InnoDB 存储引擎的事务隔离级别、MVCC 多版本并发控制和日志管理都有了深入的理解和思考。
TCP/IP 四层模型是互联网通信的核心,定义了一系列协议和标准,确保设备间可以可靠地进行数据传输。
medium:Victor Aaron Winnercoz
①、应用层(Application Layer):直接面向用户和应用程序,提供各种网络服务。它包含了用于特定应用的协议和服务,如 HTTP(HyperText Transfer Protocol)、FTP(File Transfer Protocol)、SMTP(Simple Mail Transfer Protocol)等。
示例:当在浏览器中输入一个 URL 并访问一个网页时,浏览器使用 HTTP 协议从 Web 服务器请求页面内容。
②、传输层(Transport Layer):提供端到端的通信服务,确保数据可靠传输。它负责分段数据、流量控制、错误检测和纠正。常见的传输层协议有 TCP 和 UDP。
示例:当发送一封电子邮件时,TCP 协议确保邮件从你的客户端可靠地传输到邮件服务器。
③、网际层:或者叫网络层(Internet Layer),负责在不同网络之间路由数据包,提供逻辑地址(IP 地址)和网络寻址功能。用于处理数据包的分组、转发和路由选择,确保数据可以从源端传输到目标端。
常见协议:IPv4、IPv6、ICMP(Internet Control Message Protocol)。
示例:当访问一个网站时,网络层协议(如 IPv4)将你的请求从你的计算机通过多个路由器传输到目标服务器。
④、网络接口层(Network Access Layer):或者叫链路层(Link Layer),负责将数字信号在物理通道(网线)中准确传输,定义了如何在单一网络链路上传输数据,如何处理数据帧的发送和接收,包括物理地址(MAC 地址)的解析。
常见协议:以太网(Ethernet)、Wi-Fi。
示例:在一个局域网(LAN)中,计算机通过以太网连接交换机,链路层协议负责数据帧在网络设备间的传输。
IP 协议(Internet Protocol)用于在计算机网络之间传输数据包,它定义了数据包的格式和处理规则,确保数据能够从一个设备传输到另一个设备,可能跨越多个中间网络设备(如路由器)。
三分恶面渣逆袭:虚拟 IP 网
①、寻址:每个连接到网络的设备都有一个唯一的 IP 地址。IP 协议使用这些地址来标识数据包的源地址和目的地址,确保数据包能够准确地传输到目标设备。
②、路由:IP 协议负责决定数据包在网络传输中的路径。比如说路由器使用路由表和 IP 地址信息来确定数据包的最佳传输路径。
③、分片和重组:当数据包过大无法在某个网络上传输时,IP 协议会将数据包分成更小的片段进行传输。接收端会根据头部信息将这些片段重新组装成完整的数据包。
二哥的 LeetCode 刷题笔记
class Solution {
List<String> combinations = new ArrayList<>();
// 主方法,调用此方法生成所有的括号组合
public List<String> generateParenthesis(int n) {
backtrack("", 0, 0, n);
return combinations;
}
// 回溯方法
private void backtrack(String current, int open, int close, int max) {
// 如果当前字符串长度等于最大长度的两倍,说明找到了一个解,添加到结果列表中
if (current.length() == max * 2) {
combinations.add(current);
return;
}
// 如果左括号数量小于 n,可以添加一个左括号
if (open < max) {
backtrack(current + "(", open + 1, close, max);
}
// 如果右括号数量小于左括号数量,可以添加一个右括号
if (close < open) {
backtrack(current + ")", open, close + 1, max);
}
}
}