东子OC了,终于从池子里爬出来了!

文摘   2024-10-09 10:01   上海  

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

大家好,我是阿秀。

互联网校招 offer 正式放出一般都是在每年的国庆节后,往届都是如此,今年貌似也是这个时间点,国庆节过后第一天就有25届的同学收到京东发放的正式 offer 了。

京东开始发放offer

打开牛客网一看,也有很多同学收到京东发出的 offer 了,更是占据了全站热榜的前两名。

有同学戏谑说"以后不能叫东子了,得叫东哥了"、"感谢东哥开奖开到自己,回去一定开个京东会员支持一下京东"、"终于从泡了许久的池子里出来了,还好没被淹死"。

有一说一,京东今年绝对算得上是校招大户,足足招聘 18000 +人,可能是所有大厂里招收人数最多的一个了,而且今年校招生全面涨薪20%,以前就分享过这个信息:全面涨薪20%!这谁不想当东哥兄弟啊。。。,所以国庆后京东的offer发放应该也是刚刚开始,后续会有更多京东offer发出。

当然了,也不乏很多部门的 HC 还没用完,如果有想跟东哥做兄弟的同学可以多准备准备京东面试相关的内容。

下面分享一份京东的一面面经,整体面试不难,基本以基础知识为主,算法考察也是常见题目。

1、自我介绍下吧

balabalbala

2、看你的简历上写你是Python技术栈的,那你说一下Python有什么优点和缺点?

优点

  • 解释型,语法简单易懂,可读性强
  • 有很多库可以用,可以让我们站在巨人的肩膀上简单的实现想要的功能
  • 可扩展,和其他编程语言或其他软件有可连接的接口
  • 免费开源、可移植
  • 自动内存管理,让程序员可以专注于代码的实现

缺点:可解释特征使其运行速度变慢;动态语言的特点可能会增加运行时错误。

3、为什么说Python是解释性语言?

因为它的代码是直接由解释器在运行时逐行读取和执行的,而不是预先编译成机器码。它也支持交互式编程,即可以一行一行地执行代码并立即看到结果。

4、讲一下程序的内存分区/内存模型?

内存分区,分别是堆、栈、自由存储区、全局/静态存储区、常量存储区和代码区。如下图所示

:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限

:就是那些由 new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个 delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收

自由存储区:如果说堆是操作系统维护的一块内存,那么自由存储区就是C++中通过new和delete动态分配和释放对象的抽象概念。需要注意的是,自由存储区和堆比较像,但不等价。

全局/静态存储区:全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量和静态变量又分为初始化的和未初始化的,在C++里面没有这个区分了,它们共同占用同一块内存区,在该区定义的变量若没有初始化,则会被自动初始化,例如int型变量自动初始为0

常量存储区:这是一块比较特殊的存储区,这里面存放的是常量,不允许修改

代码区:存放函数体的二进制代码

5、进程和线程有什么区别?

1、线程比进程启动速度快,轻量级

2、进程的系统开销相较于线程而言更大

3、线程使用有一定难度,需要处理数据一致性问题;进程则无需考虑这个问题

4、同一线程共享的有堆、全局变量、静态变量、指针,引用、文件等,而独自占有栈

6、虚拟地址是怎么转化到物理地址?这个过程你了解多少?

虚拟地址到物理地址的转化是通过页表(Page Table)来实现的。

页表是一种数据结构,用于将虚拟地址映射到物理地址,在分段和分页机制下,CPU会将虚拟地址转换为线性地址,然后再将线性地址转换为物理地址。

分段机制简单的来说是将进程的代码、数据、栈分在不同的虚拟地址段上,从而避免了不同段之间的内存访问冲突。

分页机制则是为了解决分段机制中存在的问题而提出的。它将进程的代码、数据、栈等分成多个大小相等的页,每个页都有一个唯一的页号,这样就可以将整个进程映射到一个连续的物理地址空间上了。

7、TCP是半双工还是全双工?

TCP提供全双工通信。TCP允许通信双方的应用进程在任何时候都能发送数据。TCP连接的两端都设有发送缓存和接收缓存,用来临时存放双方通信的数据。

8、UDP的特点有哪些?

  • UDP是无连接的
  • UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态(这里面有许多参数);
  • UDP是面向报文的;
  • UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等);
  • UDP支持一对一、一对多、多对一和多对多的交互通信;
  • UDP的首部开销小,只有8个字节,比TCP的20个字节的首部要短。

9、OSI 七层模型每层都是干什么的,大致说说就行


物理层:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。

数据链路层:接收来自物理层的位流形式的数据,并封装成帧,传送到上一层

网络层:将网络地址翻译成对应的物理地址,并通过路由选择算法为分组通过通信子网选择最适当的路径。

传输层在源端与目的端之间提供可靠的透明数据传输

会话层:负责在网络中的两节点之间建立、维持和终止通信

表示层:处理用户信息的表示问题,数据的编码,压缩和解压缩,数据的加密和解密

应用层:为用户的应用进程提供网络通信服务

10、SQL语法中的外连接分为左外连接和右外连接,它们的区别是什么?

左外连接: 左边为驱动表,驱动表的数据全部显示,匹配表的不匹配的不会显示。

右外连接:右边为驱动表,驱动表的数据全部显示,匹配表的不匹配的不会显示。

11、那内连接呢?

内连接是只有两个元素表相匹配的才能在结果集中显示的

12、看你还参加了大学计算机社团,有什么值得聊的事情吗?

说了大三时给大一小学弟学妹们培训 Word 的事情,包括写教案、用例等。

13、可以的,看你还进了实验室?那你这个项目是实验室的项目是吗?

是的,大一下就进了实验室,这是班导师接的项目,让我们帮他做的一个智慧交通的项目。

14、说下你这个项目的难点和收获

balabala

15、都面到这里了,写两道算法题吧

手写快排、二叉树前序遍历,都是很简单的题,直接秒了。

我开始写前都低头思考了 10 秒左右,想一下大概的思路,争取一次性写完,也让面试官看到自己有个思考的过程。


面试当天下午就被HR通知一面已过,二面安排在了三天后。


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

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

拓跋阿秀
前字节跳动抖音全栈开发,现某外企项目负责人,分享求职、校招、职场等内容,我的学习笔记网站:interviewguide.cn
 最新文章