网易游戏移动端开发暑期实习提前批总结

网易游戏移动端开发暑期实习生提前批总结

0.关于个人

广东某一本大三学生,日常咸鱼,没做啥项目,想找个暑期实习的机会锻炼一下自己,为以后秋招谋谋出路,听了网易游戏在学校的宣讲后,报了移动端开发的提前批。


1.线上笔试

时间:2019/03/16

地点:广州

总共四道编程题

输入n, m。

n个人编号1-n,围成一圈报数,第一个人从0开始报数,报m-1的人出局,然后接着继续从0开始报数。最后剩下的人为胜者。

输出胜者的编号。

指定一个规则:

一沓卡牌,每张卡牌上有一个字符,重复进行如下操作:

  1. 取出最顶上的一张卡牌,抛弃
  2. 如果剩余卡牌数量是偶数,则翻转整沓卡牌
  3. 将此时最顶上的那张卡牌移到最后
  4. 回到1,直到手中没有卡牌

输入:卡牌的抛弃字符顺序

输出:卡牌的初始字符顺序

输入:2行,第一行N,S,N表示N台电动车,S表示S个电桩。第二行有N个数字,分别是N台电动车需要充电的时间。

输出:求所有电动车都充完电所需要的最短时长

4.实现用最小二乘法求解多元线性回归的参数


2.一面

**时间:**2019/03/19

地点:广州科韵路网易大厦

内容:

初始一面大概只用了20分钟不到,最骚的是我的简历上忘记写名字了,还是行政的小姐姐帮我手写上去的,面试前就慌得不行,面试过程中大致问了以下问题:

自我介绍(简单介绍了一下个人情况 + 做过的项目 + 学校获得的奖励 + 舔一波网易希望得到机会锻炼)

简单介绍一下做过的Android小项目(一个在线小说阅读器,自己负责的部分)

项目遇到的难点(阅读界面小说内容分页的难点,为什么难,最后只用了左右滑动切换上下章,上下滑动查看整个章节内容)

项目的结构(Sqlite数据库层+网络访问的Service层+封装对象obj层+界面Activity层)

项目中使用的是RecycleView 还是 ListView?(RecycleView)

Recycleview实现的机制?(这个就纯自己根据项目代码瞎J2扯。写了两个自己继承的MyRecycleViewAdapter和MyViewHolder类,在Activity中实现Adapter类中抽象函数convert,实现item点击函数接口onClick和onLongClick,如何绑定数据源和item Layoutid,这个回头还要具体复习看看RecycleView的原理)

项目如何进行网络访问的(retrofit + okhttp动态代理获得响应,JSON解析到封装的对象)

用的哪个JSON解析器(这个当场自闭,忘了解析器的名字,后来面试官提醒是安卓自带的那个吗?然后回答不是,要添加一个依赖的。回来赶紧查了一下是Google的解析器Gson)

进程和线程的区别是什么?(先回答了进程线程是什么?然后再回答区别,这题因为上个问题影响,慌得鸭批没回答好)

了解IPC吗?(隐约记得是进程通信那一Part的,不敢乱来,就直说不了解了,回头复习。回过头才发现原来IPC,InterProcess Communication ,就是进程间通信,我晕,后来他又问了一下进程通信的方法,我回答了,面试官好像也没当场拆穿我这个英语学渣)

进程通信的方法?(无名管道,命名管道,消息队列,信号量,共享内存。这个我感觉如果细问下去我要GG了,不过面试官没有深究下去了)

Android里面的进程通信?(这个蒙蔽了,我只知道Handler或者Rxjava2的线程通信,进程通信??一脸懵逼,大致扯了一下Service和Activity之间如何通信,bindService,transact什么的,后来又扯了一点Activity跳转,Activity,Intent, Bundle什么的,不知道扯对了没有?)

http和Https的区别?(多了一个SSL,安全套接字层,讲了SSL的作用,实现数据加密传输,讲了运用了对称加密算法和非对称加密算法什么的?还以为面试官会接着问问这个加密过程的具体流程,结果面试官也没深究下去了)

然后简单介绍笔者写的另一个UDP实现类似TCP的网络可靠传输服务的项目(DagramSocket,DagramPacket,确认机制,GBN,超时重传机制,出错重传,滑动窗口,流量控制,拥塞控制)

怎么实现可靠传输服务的?(大致项目介绍的时候也提了一点,这里就继续补充了一下)

为什么要用UDP去实现TCP?为什么不直接用TCP(对于开发者,UDP对于数据何时发送,发送什么有更好的控制机制,我们可以通过实现可靠传输保证数据准确,另外我们可以不添加拥塞控制,自私地使用更多的带宽更快的速度?因为拥塞控制是TCP针对整个网络体系的拥塞情况进行调整)

跟TCP的效率比较会怎样?(由于上面一个挖了个坑,被问了这个,一脸懵逼,我说没使用TCP进行比较,但项目添加拥塞控制后,传输速度下降了很多。然后被面试官无情嘲讽。现在回想可以说一下,项目的实现机制和TCP有很大不同,例如项目是使用GBN的,N个包有一个差错基本就全部重传,而TCP是GBN和SR结合,另外还有别的优化,加上项目实现比较粗糙,比较慢也是有可能的)

读过ArrayList的源码吗?知道ArrayList为什么可以不断地Add添加?(读过一点点,讲了一下ArrayList的扩容机制,1.5倍扩容等)

总结:

其实面完之后,自己感觉拔凉拔凉的,有很多都回答得不好,复习也没到位,进程线程概念不清,锁机制线程安全机制可能还没理解好,以及计算机网络都没有很好的复习到位,希望后续能继续复习之前课上学过的知识,夯实一下基础。另外对于Android项目用到的知识点要继续加深理解,四大组件的理解不够深入,不能仅仅停留在会用的层面上。


3.二面

前言:

2019/03/20收到二面通知,有点诧异,其实上次面试回答得感觉挺差的,回答得没有重点,基本面试官提出一个问题,我就满天飞羽地瞎扯一些相关的我了解的,感觉面试官也比较无语,然后项目也被DISS了一波,原本以为没有二面了,结果收到通知2019/03/24下午继续去面试,到时再继续更新吧!

时间: 2019/03/24

地点: 广州科韵路网易大厦

内容:

自我介绍(这次稍微准备了一下自我介绍,没有上次那么卡壳,还多讲了一下自己的绩点和排名,和现在的IOS实训情况)

这个排名不能保研吗?(自己挖了个坑,其实20%的排名保研还是挺大难度的,我就直说基本不能保研了,自己统计过往年的保研推免大概需要前13%左右)

有没有考研想法?(这个当然是没有的,有的话还会给我过面试吗?当然也确实没想过考研)

为什么不选择读研呢?(读研是一种提升方式,出来实习锻炼也是一种,况且网易平台足够大,我相信给我的锻炼发展空间是很大的)

觉得安卓和IOS哪个容易上手一点?(我刚学OC,那肯定当下来说安卓容易上手一点,况且之前课程学过JAVA)

觉得网易这个公司怎么样?(一顿吹捧,完美)

谈回自己做的安卓项目

为什么想要做这样一个应用(事实上是安卓课程的大作业,但是基本点想法的出发还是来源于一个想要阅读网络小说的舍友)

这个有放到安卓应用商店或者什么吗?(没有,只导出了apk)

自己完成的还是合作的?(团队合作,和舍友完成)

组内是如何协调?分配工作?(git协作开发,大家根据自己的熟悉情况和时间情况选择任务)

负责的部分有什么功能?(小说阅读啊,加载内容,各种阅读习惯功能黑夜白日,字体调整,横竖屏,章节跳转)

加载小说内容是怎么加载?下载保存还是放在内存中?(没有下载,缓存加载,用一个队列在内存中缓存)

缓存功能是怎么做的?(详细地说了一下,一次缓存只加载10章节,等用户阅读到缓存池剩余不多时继续后台线程下载后10章节)

有没有想过用户阅读后直接下载、缓存已读的章节,以后就不需要网络访问了?(这个后续可能可以改进一下,然后就和面试官聊了一下这个方面的)

问另外一个项目,

搭过后台是吧?(简单的一个世界杯数据查询网页的后台,设计api,从数据库中读取数据,写成json作为response返回)

数据是如何来的呢?爬取的吗?(是的,另外一个小组成员在新浪体育上爬取的数据)

平时玩游戏吗?玩什么游戏?看直播吗?(如实回答)

然后面试就结束了,面试官说待会还有一个面试,就在今天,叫我找带路的小姐姐再交一份简历,那边会安排。

总结:

二面之前,准备了挺久的技术题复习,结果差不多25分钟的面试过程似乎也没有明确地问技术问题?聊了10分钟的校园生活,15分钟的项目,觉得我这怕不是早就钦定婉拒了。结果最后面试官跟我说待会还有一个面试,我真的激动得快跳出办公室,因为网易只叫我们准备了三份简历,如果还有一个面试的话,那肯定是最后一轮了。


4.HR面

时间: 2019/03/24

地点: 广州科韵路网易大厦

内容:

自我介绍

了解了一下学习概要?

学业绩点,保研形势?

有打算考研吗?

提前批情况,如何获得这个提前批消息的?宣讲会情况?身边还有人跟你一起报了网易这个提前批吗?

正式批有报名吗?报的什么岗位?

住哪里,爸妈干什么的?

平时爱好怎么样?玩游戏吗?看直播吗?平常运动?

还报了哪家公司的面试吗?

几月可以开始实习呢?

知道这个实习在八月底秋招前有转正考核吗?建议可以的话,早点过来实习。

整个过程感觉其实就是聊天了,也不单纯她问我,我回答后基本小姐姐也会说一点相关的话题,大抵也忘了聊了啥,总之这轮面试面了半个小时多,最后说大概清明前会有通知。

现在应该是面完全部面试了,在等最后的通知,不知道能不能拿到实习Offer,如果有通知再来更新一下。


更新:已经拿到网易暑期实习的offer了。

你可能感兴趣的:(网易游戏移动端开发暑期实习提前批总结)