天天看点

秋招总结(后台开发岗)- 2020届1、背景2、时间线3、面经4、经验总结

目录

  • 1、背景
  • 2、时间线
  • 3、面经
    • 小米一面:
    • 拼多多一面:
    • 拼多多二面:
    • 网易游戏一面:
    • 网易游戏二面:
    • 网易有道一面:
    • 网易有道二面:
  • 4、经验总结
    • (1)笔试
    • (2)面试
      • 编程语言
      • 简历
      • 计算机基础
      • Linux

(emmm,后面有时间再补充一些推荐的资源)

1、背景

岗位:后台开发

投递的公司:腾讯、字节、华为、拼多多、小米、网易游戏、网易有道、虎牙

时间:2019年9月初 - 2019年10月底

结果:暂时签了拼多多sp

2、时间线

2019年1月(大四)决定转做后台开发岗,然后申了港科大的一年制硕士(为了有时间准备招聘)。2月开始学 Java,以及 Java 后端开发的常用框架(SpringBoot 等)。3、4月写论文。5 月到 8 月做了个个人项目,复习计算机组成原理、计网、算法,自学操作系统、前端开发等等。然后走正式批招聘,先试试水,拿个经验。面试中超级无敌多东西不会,只能每一场面完,赶紧学。下一场面试再现学现卖。

科大这边是2020年11月拿毕业证,所以2020年的秋招也还是可以参加。目前在微信实习(2019.12.24 - 2020.3.24)。

3、面经

下面是按面试时间来列出面经,有一些内容没有记录。

小米一面:

项目

实习经历,遇到的难点

synchronized,volatile

接口,抽象类

gc

二维矩阵,顺时针遍历

拼多多一面:

项目部署在哪里

Spring 为什么受欢迎

Redis,

集群,一致性哈希

快排,

以及用快排求top 100,复杂度O(N)

拼多多二面:

hashmap,concurrentHashMap

kafka 顺序放进去,是否会顺序处理

‌类加载的过程,有几种加载器

‌java 各种 io

‌加锁的内存开销

tcp拥塞控制

内核态,用户态

lru

页表

个人项目中 redis 用来干什么

编程:二叉树,不用递归,后序遍历(可以用栈或者 Morris)

网易游戏一面:

Redis 实现

elastichsearch

aop

ioc

tcp 四次挥手

mysql 使用 explain 来分析性能,key, rows

登录模块的密码传输,以及保存

linux 查找端口被哪个进程占用,某个套接字

被哪个进程占用

网易游戏二面:

es 实现原理,倒排索引,排序标准

elk技术栈,e 是elasticsearch

icmp

linux 命令

http 状态码

rewrite(例如用于 http 转到 https),redirect

网易有道一面:

http 长连接,短连接

get 和 post

cookie

数据库 第 一,二,三范式,事务特性

String,StringBuilder,StringBuffer

四种引用类型

autobox,unbox

网易有道二面:

介绍spring boot,redis,kafka(数据存在硬盘,因此容量较大),elasticsearch(倒排索引是什么),为什么用 mybatis,不直接用 JDBC

编程题(可以用并查集)

4、经验总结

可以的话,一定要参加提前批!!机会会多很多很多很多

(1)笔试

我是在牛客网上看完了左神的算法入门班和提升班。基本上就是复习了基本的算法,像排序、二叉树遍历、图算法、有序表等,还有一些常考算法,如滑动窗口、单调栈、并查集、动态规划。

还有就是刷了几题去年的大厂真题(牛客网上有,2019年6月的时候,还搞了活动,免费领上一年秋招的真题和答案,纸质版)。

(2)面试

主要问以下五个方面:

  • 编程语言
  • 简历上的内容
  • 计算机网络
  • 操作系统
  • Linux

编程语言

我在简历上写最熟悉 Java。然后面试就会问 Java 的各种东西。比如常用容器的实现方式(HashMap、ConcurrentHashMap 等),StringBuffer 和 StringBuilder,static 和 final 关键字,多线程。

还会问 JVM,比如 Java 虚拟机的内存区域,垃圾收集,类加载机制,字符串是怎么保存的。

对于校招的后台开发岗,大多数公司不会限制编程语言,你有一门熟悉的就可以。

简历

第二个最常问的就是简历上的内容。面试官很多时候是按着你的简历来提问的,所以对上面的内容最好有一定的了解。我的简历上个人项目那里写着用到了 SpringBoot、Redis、Elasticsearch、Kafka 等东西,面试中就经常问这些东西的用法、原理、应用场景等等。

计算机基础

问的最多的是计网,尤其是运输层,其次是应用层和网络层。重点内容有 tcp 的三次握手、四次挥手(可不可以变成三次)、拥塞控制、报文结构,tcp 和 udp 的区别、应用场景,http,DNS,网络层的路由算法。

操作系统会问到进程、线程、内存分配、死锁等内容。

关系型数据库几乎没问到过。

Linux

最后还有就是 Linux 的常用命令,还有系统的设计原理,比如他的目录结构、权限管理、进程/线程等等。如果准备时间不够,最好也要搞清楚常用命令和权限管理。企业的开发和部署环境都是 Linux,所以这方面至少要懂一点点。