九月底秋招小总结


今天9月29号了,首先祝大家国庆中秋快乐,然后分享一下我个人九月的秋招经历。虽然也比不上一些大神的丰富,更像是一个普通本科大四应届生的正常经历。
2018届 本科 非211 非985 ,一名较为常规普通的大四秋招生。
以下是一些经过,希望对大家有帮助,不过描述能力有限,见谅。

感觉大学的前几年似乎并没有学到太多或巩固下知识,真正的思想开拓,大概是在大三下学期以及整个暑假中。
暑假里主要复习的书籍如下:
java编程思想、java并发编程实战、实战java高并发程序设计、设计模式之禅、大话数据结构(主要用来回顾一下基础)
编程珠玑第二版、编程之法(出自csdn v_JULY_v )、深入理解java虚拟机、Netty实战、Netty权威指南、
Redis设计与实现(redis中文官网也可以 http://www.redis.cn/ ) 、计算机网络(谢希仁第六版)、
Spring实战(这个虽然看了但没巩固下来,算是一次了解的过程) SQL入门指南(用来回顾一下数据库sql)
java程序员面试笔试宝典 剑指Offer之类的。然后还有快速手写各种排序、二叉树的非递归遍历..balabala 之类的。

截止9月 还没上牛客刷过题。9月初才每天做几轮专项练习,然后看看讨论区大家的分享。
暑假期间通过公众号发了N多内推,然而并没有收到相关面试通知,唯一的就是苏宁发了消息,最后也是没来。
其实对于自己实力的不自信以及对于大公司一些的心虚畏惧,导致百度阿里美团京东什么的都没有投等到后来认识到其重要性的时候已经都错过了,其实每一次的笔试面试都是有收获的,而且面试官都比较友善。
最初是希望进完美世界的,大三实习的时候内推过,最后没通过,但是很感谢那位面试官学长,打开了我后续知识的大门。

建议还是要敢于尝试。然后真正陆续开始收到面试 就是在9月20号后。期间也是会有焦虑不安的。但真的投入到面试过程中又觉得有些静下来了。目前截止9月29号,经历和收获大致如下,腾讯是一面就GG了,但我的个人状态也是在腾讯一面之后开始调整和收获,就像一个转折点,让我开始总结遇到的面试问题及时查阅。

YY欢聚时代(offer)
51信用卡(offer)
贝贝网(节后通知)
37互娱(offer)//10.13补充
恒生电子(offer,已拒)

国庆黄金时间段,无论是找工作还是考研 这个时间都很关键了。
祝愿大家都能有好的收获,不气馁,坚持住,加油!共勉!
向10月份的公司企业进军....!!

这里附加一个链接,是之前在牛客上收藏的,各课程的内容都有涉及到。 但是忘记是哪个牛友分享的了,不好意思。
http://www.hashcoding.net/2017/06/13/Computer-Science-Knowledge-System/

腾讯一面:
1.Tcp为什么慢,udp如何在应用层改进,像tcp一样可靠,或者tcp改进像udp一样快 。
( TCP流量控制、拥塞控制, UDP没有相关限制,不会缩小对方发送缓冲区,因此速度快。加快TCP的传输 可以扩大缓冲区大小,或者减小流量控制的力度,让数据每次都刚好能完整发送一个包单位)

2. epoll 如何管理底层大量的文件描述符 fd ,如何知道有事件到了,返回fd ?
(使用红黑树进行存储fd,若来一个fd则先判断是否已在管理树上,之后将准备好了的放到就绪队列链表。)
3. 非阻塞网络连接,如何处理 能知道connect 连接上了
(java 使用socketChannel.finishConnect() 返回boolean, 非阻塞下若为否,则未连接,若连接失败,则抛出异常。C下 如果在 select 之前,连接就建立好了,而且对方的数据已到达,那么 sockfd 是可读和可写的。如果连接发生错误,sockfd 也是可读和可写的。 为了区分连接是否建立,则使用 getsockopt 函数检查错误。根据错误进行判断。)

4. 三次握手,改为2次不行吗?
(服务器陷入假性等待连接。问:那超时关闭不就好了?  答:超时关闭可以尽快是否但无法避免前期假性等待的时间开销 )
5.  2msl  timeWait 一般多久,如果大量连接都处于这个状态即服务端没有可用fd,怎么办,如何处理让客户端能连接上
(修改相关配置信息,缩短timewait时间、开启快速回收。)
6.  tcp 首部核心标记字段有哪些  (源端口 目的端口 序号 确认号 数据长度 相关标志号 一些额外指针空间)
7. tcp拥塞控制  (慢开始 拥塞避免 快重传 快恢复)
8. B树 B 树
9. A B字符数组,找出A中存在 B中不存在的  O(m n)
10. 单例

51信用卡一面:
1.自我介绍
2.java集合类:hashtable hashmap treemap concurrentHashmap
3.CountDownLatch  CyclicBarrier  LinkedBlockingQueue 等
4.弱一致性  顺便提到分布式CAP
5.线程池参数及解释    corePoolSize,  maximumPoolSize,  keepAliveTime,  BlockingQueue 等
6.TCP三次握手
7.五种IO模型
8.select epoll
(后续还有一些问题,整体一面比较常规且贴近java 由于当时面完没立刻写下来,有些忘了 )

51信用卡二面:
1.epoll 底层实现 (另外再回答了相比于select的优势以及LT ET 非阻塞的应用)
2.netty IO线程池默认线程个数,为什么 (CPU*2 1 线程并发数受CPU核数影响  IO密集型)
3.你处理时如何进行管理buffer (回答自己管理一个buffer队列,每次优先从中获取安全的共享空间)
netty中如何管理 (事先申请大片内存,作为池,对分配出去的空间做引用计数,回收)
netty 0拷贝解决什么问题(堆外内存 组装数据)
4.https SSL 如何保证安全
5.如何防止中间人攻击,在链路连接之前就拒绝 (综合上一个问题讲述了一下SSL经过 因为不是太深入了解,回答得不是太好)
6.TCP流量控制 可靠传输  (滑动窗口 以及为0时保持探测and达到一定门限再通知对方传输,即解决糊涂窗口症)
7.半包粘包处理 (首部标记数据长度len)
8.netty责任链处理消息遇到长时间IO任务怎么办(只做简单处理,真正的处理放到另外的应用层线程池中)
9.对于分布式RPC有什么研究


51信用卡现场终面
1.自我介绍
2.开始根据项目进行询问大致涉及以下问题:
介绍项目背景及功能,团队任务分配,自己负责了什么内容,如何实现
画图描述服务端模型及消息流程,介绍对消息任务的传输接收方式、解析方式、对应相关处理
如何进行存储或缓存,如何避免服务器宕机导致任务丢失,如何实现任务队列及区分处理,数据库设计等问题
主要就是根据项目进行一些较为详细的交流
然后对日后的学习规划的交流、面试官分享工作建议等。这个是根据个人不同项目来问

51信用卡HR面
大概就是聊人生之类的,HR很活跃,聊了比较久,氛围很轻松。介绍了51的情况,分析了一波之类的。
然后就和其他家的HR差不多的问题 可实习时间、三方发放时间、有哪几家的offer、.......之类的。

YY一面
1. 自我介绍
2. 项目背景 (实习or校内or竞赛项目)
3. 介绍实习项目(项目背景及如何运作,完成什么样的功能流程,我在其中扮演着什么样的角色,负责了什么模块,有了怎样的收获)
4. 对reactor模型的理解,项目中如何做的
5. 项目整体流程模型描述
6. 项目中通信加密如何实现
(client拥有server的安全证书,在建立连接时双方商议对程密钥,client利用证书公钥对对称密钥加密,传输,后续通信过程使用对称密钥加密明文数据 且对明文进行摘要, 对摘要进行数字签名(client的私钥) )
6.5 消息摘要的计算 是在数据加密之前还是数据加密之后?
(在加密之前,即对明文计算摘要,然后对摘要使用私钥签名,对方收到密文后,使用对称密钥解密明文,公钥解析摘要,将摘要与重新计算的明文摘要进行对比,是否相同)
7. 序列化是如何做的,使用了什么序列化工具以及为什么
(设计Msg类,封装消息数据,使用fastJson对其进行序列化成字符串,并且对字符串的长度统计赋于报文首部2个字节,用于半包粘包处理,因为是在学习阶段,首先接触了fastJson且其效率也是较好,对一种序列化工具熟悉以后,日后工作场景若是需要,则转换thrift、protocolbuffer等)
8. redis源码了解了多少?  list的底层存储方式是什么样的
(数据较少时使用ziplist,当数据量较大时改为使用linkedlist 双端链表)
hash的底层呢?
(数据较少时使用ziplist,由于hash是具有key-value的当有多对要存入时,按顺序先存入第一对的键、值 第二对的键、值 以维持正确 ,当数据较多时使用hashtable,使用hash映射存储,讲了一下dict结构、rehash等)
Zset又是怎么样的呢?
(Zset主要是使用跳跃表,每个节点具有一个value值作为排序依据)
由于对redis源码和底层结构有一些认识,所以问redis的时候聊起来是最轻松的,原本更希望能被问到后续的AOF\RDB\cluster
9. 后续的学习路线安排等之类的,因为和面试官聊的比较开心,出来后反而忘了被问到什么问题。
面试官人很好,因为谈到对高并发的喜爱,面试官提起前两天快乐大本营宣传YY导致YY并发爆涨,很多人又熬夜维护修改。

YY二面
1.针对实习项目,你负责了什么有什么收获,详细描述项目的作用以及你所做的处理
2.项目里为什么是这样处理的,解析的是什么数据,为什么加密了,为什么使用这种加密方式
3.项目里你觉得最难的是什么,需要在本机上搭建测试环境吗,使用了哪些技术
4.对项目源码的理解怎么样,知不知道在服务器升级的时候是怎么做的,如何平滑处理升级。时间太久客户请求等不了那么久怎么办
5.操作系统课程有对Linux的深入吗,比如修改内核或者实现文件系统或者完成一个小模块
6.为什么自己从底层开始编写,为什么不选择成熟的框架直接快速开发,直接看人家优秀的框架然后看懂它,理解它
7.数据库索引是怎么存储建立的,起到怎么样的作用,有时候查询是需要顺序对表查询的,索引有什么用?
8.你觉得自己实现的和人家的优秀框架有什么区别,你为什么选择自己一步步从底层实现而不直接选择人家优秀的解决方案并去理解它
(即为什么不直接去研究优秀的设计来提高自己,反而造轮子学习)
9.Netty线程模型,处理IO的线程池设置多少个线程,为什么,非IO密集型又设置多少线程,你的项目中你设置了多少,有进行压测吗
10.你觉得相比于比你更优秀的人 或比你弱一些的人,你有什么优势和缺点
11.在深度下,比不过比你优秀的人,广度上也可能不如其他人,那么你如何体现你对技术的热情,你的什么事可以证明你对技术的热情
12.你觉得在班级里成绩比你好的人,他们是怎么样的
13.为什么使用fastjson序列化,相比于其他框架有什么优缺点,一个受欢迎的序列化框架你觉得影响的因素有什么
14.http方面的知道吗
15.接下来有什么学习规划 对现有的巩固和其他的深度拓展?
16.JVM了解吗,mirrorGC、fullGC
17.学习经历中的难点是什么,对小方面的学习也要能深入吃透,不一定要对各种框架的研究才行
(认为我没有深入对待技术,理解其背后的含义)
18.面试官分享:在学习过程中利用实践来对自己技术的提高,当熟悉了以后,即对任务需求没有太大难度了,则自己进行模拟,以现有技术实现更好的效益,对每个点都认真研究,及时巩固。

YYHR面
1.自我介绍
2.哪个项目对你的成长帮助最大,为什么
3.当时项目背景是什么,为什么想做一个这样的,是独立开发还是团队合作
4.学习途径是什么
5.为什么会去参加一些竞赛,在项目型竞赛中,负责了什么
6.大学时间是怎么安排的
7.日后学习规划,制定了什么样的计划
8.是大学才接触编程的吗
9.在前两次面试的过程中,对我们公司有什么样的了解
10.为什么不选择杭州、上海等地方
11.除了对技术的热爱追求,对基本薪资的期望是什么样的
12.有拿到其他家的offer吗
13.有女朋友吗


37互娱一面
1.自我介绍
2.要求写出list set map 几个实现类 并对其进行介绍解释
3.线程池参数、一般有几种线程池的实现类使用,分别应用于什么场景 你觉得tomcat用哪种方式
4.java线程状态图
5.synchronized Lock 相关介绍及其不同点
6.写一个单链表逆转
7.JVM 内存分区
8.垃圾回收GC判别(即可达性分析 GCroots有哪些)
9.UML画一个***图
10.Spring IOC如何实现的 如何实现容器管理
11.netty的好处、netty如何以异步实现同步的情况、如何实现http相关内容、介绍netty线程模型
12.mysql引擎及区别
13.数据库索引实现及作用
14.硬盘读写速度、百兆带宽每秒可传输多少比特数据
大致是这些,面试官首先列了几个点(数据结构、API、框架、数据库、网络、操作系统、设计模式、JVM等) 然后根据点来进行提问,并写下相应的评价面完以后因为那个时间段人不多,就跟我介绍了一下人生经验、成长经历之类的,然后说对于不同的游戏开发过程中,架构模型也一直会变,对于不同的手游也会需要重新设计处理方案,还要考虑基站 2G 3G 4G WIFI 等网络情况,还有数据实时性,改善用户体验等....也比较有收获。

恒生电子一面
群面,每个人介绍一下自己,后续问题基本可自由抢答或补充
1.多态理解
2.死锁产生条件
3.服务器可将一个端口同时用于提供TCP UDP服务吗
4.线程 进程区别
5.理论上TCP可开放最大连接数是多少
6.公司实习和在校学习有什么不同
7.java 锁
可能漏了一两个问题,问题不多

恒生电子HR面(部门经理面)
因为总共2面,且没有HR面,是经理面试
没有问什么技术相关问题
主要关心学习途径、学习经过、大学生活、可分享的事迹、收获等
应该也聊了半小时左右吧 聊的过程中是比较轻松愉快的,面试官像一个倾听者,而我则是回顾了一下我的大学
收获也是挺大的 我等于借助这次面试回忆分享了一下我的成长经历。


贝贝网
这个情况有些特殊,当时大三下学期找实习的时候是联系过贝贝网的,而收到贝贝面试通知的那天我刚好还在杭州面别面公司,就问了下HR能否直接在贝贝杭州总部面试。现在尽量回顾一下当时实习的3轮面试问题,但是太久了记不住多少了

1.固有的自我介绍
2.java nio的理解
3.java线程相关问题,线程池相关问题
4.如何实现多生产者消费者
5.乐观锁 悲观锁
6.redis五种对象类型
7.redis持久化 AOF RDB
8.序列化的使用
9.介绍项目及如何实现(这个在一面 三面中都有涉及,介绍项目,如何设计实现,模型之类的)
10.java集合类(还是固有的hashmap treemap 之类的实现方式等)
11.实现线程的几种方式 以及 run start 方法的区别
12.synchronized  wait notify 等之类的
13......抱歉 真想不起了。 但是都比较常规化,可能当时是招实习生,所以没有太难,不过最后三轮面试结束后,
给我的答复是招实习生的名额不多,只剩2个还是怎么了,想再招个更厉害的。其实也还好,当时的状态还没怎么复习东西,没被录上现在想想也是合理。真正的复习提高经过主要在于暑假。

贝贝秋招一面
因为是临时总部现场安排的,就只有一面,不知道正式流程怎么样。
1.自我介绍
2.java类加载、初始化过程
3.synchronized Lock区别,并给几个方法加锁,让我判断是否能获得锁之类的
4.netty redis项目的介绍,如何实现,传输如何序列化的,如何缓存,怎么防止服务器宕机丢失任务,怎么备份记录等
因为主要针对项目在问,让我详细的描述或者画出来,然后问我为什么选择这样的方式来设计服务端的处理,大概是站在实
际开发的角度判断我整体项目模型或者采用的框架的合理性。因为我主要是为了锻炼使用netty和redis,基于学习角度。
面试官似乎认为我的目的是在给他介绍我的架构,我之前自我介绍的时候有提到很钦佩那些能够设计架构的人思路严密等。
看面试官的态度似乎有点看不上的意思,不过也不用想太多,把每次的经历都当做是一次成长的收获。
5. Top K 问题,这个很常见了  立马就回答了 最小堆、快排思想之类的,数据量太大还可以分块唤入内存,最方便的还是最小堆
6. 一堆长方形A[0,1,2....n]  长Xi 宽Yi 即<x0,y0> <x1,y1> .... 长宽是随机乱序的,要求 从这一堆里抽取合适的长方形摆成一列。(即 上面的长方形长宽都小于等于下面的长方形  xi <=xj  yi<=yj )

贝贝HR
实际上HR没有怎么面试,就是闲聊了一些,然后我怀着朋友间聊天的态度,咨询了一些杭州的情况或者是一些谈offer的建议什么的。整体下来 贝贝这次的临时面试安排可能比较随意,更多像是一次聊天讨论的经过。获得offer的几率也就不好说了。

最后再一次 祝大家都能有好的收获! 加油!!


#Java工程师#
全部评论
膜大佬
点赞 回复
分享
发布于 2017-09-29 22:22
强。。。。。。。666666666666
点赞 回复
分享
发布于 2017-09-29 22:22
联易融
校招火热招聘中
官网直投
留名学习
点赞 回复
分享
发布于 2017-09-29 22:23
666,留名学习
点赞 回复
分享
发布于 2017-09-29 22:32
大佬多久得到yy offer 的
点赞 回复
分享
发布于 2017-09-29 22:32
求问大佬yy offer  的total 价格是多少
点赞 回复
分享
发布于 2017-09-29 22:53
LZ列的这些问题 面试的时候是基本能全答出来吗?
点赞 回复
分享
发布于 2017-09-29 22:59
学习学习,感谢分享。。
点赞 回复
分享
发布于 2017-09-29 22:59
对啊,今年yy offer是不是涨了
点赞 回复
分享
发布于 2017-09-29 23:32
学习,牛客网难得的干货
点赞 回复
分享
发布于 2017-09-30 07:24
学长能留个扣扣请教下吗?
点赞 回复
分享
发布于 2017-09-30 08:20
昨天yy hr给我强调今年yy涨价了。。。
点赞 回复
分享
发布于 2017-09-30 08:40
楼主有收到51的cto面吗
点赞 回复
分享
发布于 2017-09-30 11:25
干货。~
点赞 回复
分享
发布于 2017-09-30 11:25
楼主这是最给我压力的一篇面经
点赞 回复
分享
发布于 2017-09-30 14:27
你这真的可以, 恒生电子的讲的很好
点赞 回复
分享
发布于 2017-10-09 22:23
你应聘的是后端开发还是服务器开发?
点赞 回复
分享
发布于 2017-10-17 09:33
学长能留个QQ请教一下吗?
点赞 回复
分享
发布于 2017-10-17 09:45
恒生的offer薪资怎么样?
点赞 回复
分享
发布于 2017-10-17 21:01
哇   感觉还差很多  努力....
点赞 回复
分享
发布于 2017-10-20 23:10

相关推荐

#美团#2024.3.22美团后端基础架构部&nbsp;一面&nbsp;60min1.&nbsp;自我介绍2.&nbsp;说说你了解的C++11相关特性3.&nbsp;介绍移动语义4.&nbsp;介绍智能指针5.&nbsp;malloc&nbsp;1KB和1MB&nbsp;有什么区别,介绍一下brk,mmap6.&nbsp;介绍一下内存池项目的三级缓存7.&nbsp;分页存储说一下8.&nbsp;介绍一下怎么设计迭代器的9.&nbsp;容器可以一边遍历一边插入吗10.&nbsp;使用迭代器怎么删除一个元素11.&nbsp;TinyRedis&nbsp;是自己写的吗12.&nbsp;跳表是怎么实现的13.&nbsp;Redis&nbsp;为什么是单线程14.&nbsp;Redis&nbsp;持久化有哪些方式15.&nbsp;介绍一下&nbsp;Redis&nbsp;中的&nbsp;listpack16.&nbsp;select&nbsp;和&nbsp;epoll&nbsp;的区别,epoll&nbsp;的底层数据结构17.&nbsp;是否学习过一些新技术比如&nbsp;OpenAI&nbsp;,&nbsp;消息队列之类,有没有参与过开源项目18.&nbsp;简单问了一下实验室的项目19.&nbsp;有没有使用过&nbsp;git20.&nbsp;算法手撕,取数组中最小的K个元素(使用了堆排序,问怎么优化堆的大小)21.&nbsp;反问:基础架构部做什么的,面试官说他们做的图像22.&nbsp;反问:工作时间怎么样,面试完是不是可以直接下班了(说周五会早点下班)23.&nbsp;反问:本科生就业和读研如何选择2024.3.25美团后端基础架构部&nbsp;二面&nbsp;30min1.&nbsp;面试官首介绍了自己的工作,是做中间件的,没有让我自我介绍2.&nbsp;进程,线程,协程的区别3.&nbsp;用过哪些&nbsp;Linux&nbsp;命令,简答说一下4.&nbsp;Ddos&nbsp;攻击了解吗5.&nbsp;知不知道布隆过滤器6.&nbsp;序列化,protobuf&nbsp;知不知道7.&nbsp;如果程序不响应了(假死),你会怎么排查8.&nbsp;给定一个没有重复数字的数组,数组长度为N,从中随机取出M个不重复的数字9.&nbsp;介绍一下在实验室做的项目,几个人做的10.&nbsp;如何看待实习找工作这件事(我懵逼了)11.&nbsp;在哪里上学,物联网工程专业似乎不匹配,什么时候可以实习,可以实习多久12.&nbsp;反问,学C++找后端工作怎么样(面试官说学C++没问题,有面向对象思想转语言很快),问推荐学习方向(面试官说可以做做网络相关,说很多人都做WebServer,难道推荐WebServer???)13.&nbsp;反问,面试官工作地点,后续流程2024.3.26&nbsp;进入人才库
点赞 评论 收藏
转发
14 290 评论
分享
牛客网
牛客企业服务