美团移动端一面凉经(9.7)
美团一面凉经
首先问了我在学校担任过什么职务,要做哪些事情(估计是为了调节气氛吧)
然后问我在学校有做过那些项目,在哔哩哔哩上学过啥,有遇到哪些问题,后来怎么解决的........
问实习时候做的项目,我提到一个sharepreference,
然后他就顺着问,问安卓里面有哪些储存数据的方法,我说了sqlite,sp,他问还有吗。。。。。陷入尴尬。
Sharepreference、File、SQLite、网络存储、ContentProvider。
然后我有提到了okhttp,他就问我okhttp具体怎么实现。。。。死亡发问。。。
首先创建OkhttpClient对象;
然后创建Request对象;
将Request对象封装成Call;
通过Call来调用同步或异步方法,调用execute()方法来同步执行,调用enqueue()方法异步执行。
问java:
抽象类和接口的区别。。。。
final是干什么用的(完蛋,完全没了解,更没记。。)
final关键词可以修饰引用,方法和类。
当final修饰基本数据类型是,就变成了常量,值不能改变;
当final修饰引用数据类型时,比如对象或数组时,对象获数组的值时可以改变的,但是指向该对象或数组的地址的引用是不能被改变的;
当final修饰类的成员变量时,必须当场赋值,否则编译会报错;
当final修饰方法时,该方***成为最终方法,可以被继承,但不能被重写;
当final修饰类时,该类会成为最终类,不能被继承;
重载和重写的区别,两者分别是干什么用的。。。。
重写(覆盖): (1)重写有一个必须的前提:重写只能发生再父类和子类之间,而且必须是子类对父类的的方法进行重写 (2)重写子类的参数必须和父类的参数一模一样,不论是参数的类型或者参数的数量 (3)返回值的类型需要相同 (4)在权限修饰方面:子类的权限必须要大于或者等于父类的权限 (5)子类抛出的异常不能大于父类抛出的异常
重载: (1)重载的对象是:同一个类中的不同方法,也就是说一个方法可以对另一个方法进行重载操作 (2)参数必须不一样,可以是参数的个数不同,参数的类型不同 (3)对于方法的返回值没有要求必须相同 (4)重载和被重载方法的权限可以不同 (5)重载和被重载的方法名字必须要相同 (6)可以抛出任意大小的异常
方法重载,就是在一个类中有好几个方法,它们的方法名都一样,但参数不一样,返回的值也可以一样。
方法重写,是指在子类中对父类的某方法进行重新定义,其子类的该方法名以及参数位置和个数,参数类型,返回类型等都与父类相同,从而在调用子类的该方法时,不会执行父类的方法。重写的优点时能够定义某个子类特有的特征。但是在父类中以final定义的方法,在子类中时无法进行重写的。
##
如何开启一个线程。。。。。。(忘了,猛男落泪。。。)
-
继承Thread类创建线程类
(1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。
(2)创建Thread子类的实例,即创建了线程对象。
(3)调用线程对象的start()方法来启动该线程。
-
通过Runnable接口创建线程类
(1)定义runnable接口的实现类,并重写该接口的run()方法,该run()方法的方法体同样是该线程的线程执行体。
(2)创建 Runnable实现类的实例,并依此实例作为Thread的target来创建Thread对象,该Thread对象才是真正的线程对象。
(3)调用线程对象的start()方法来启动该线程。
-
通过Callable和Future创建线程
(1)创建Callable接口的实现类,并实现call()方法,该call()方法将作为线程执行体,并且有返回值。
(2)创建Callable实现类的实例,使用FutureTask类来包装Callable对象,该FutureTask对象封装了该Callable对象的call()方法的返回值。
(3)使用FutureTask对象作为Thread对象的target创建并启动新线程。
(4)调用FutureTask对象的get()方法来获得子线程执行结束后的返回值
对比:
采用实现Runnable、Callable接口的方式创见多线程时,优势是:
线程类只是实现了Runnable接口或Callable接口,还可以继承其他类。
在这种方式下,多个线程可以共享同一个target对象,所以非常适合多个相同线程来处理同一份资源的情况,从而可以将CPU、代码和数据分开,形成清晰的模型,较好地体现了面向对象的思想。
劣势是:
编程稍微复杂,如果要访问当前线程,则必须使用Thread.currentThread()方法。
使用继承Thread类的方式创建多线程时优势是:
编写简单,如果需要访问当前线程,则无需使用Thread.currentThread()方法,直接使用this即可获得当前线程。
劣势是:
线程类已经继承了Thread类,所以不能再继承其他父类。
栈和队列的区别,已经他们的各种方法。。。。
对了,问了我 如何用一个容量为100的数组实现两个栈,我至今都没理解他讲的是什么鬼意思。。。。。。
问网络:
get和post的区别,请求头和请求体分别放什么,原话是数据是怎么放置的。。。。
浏览器输入网址到展现页面之间发生的一些列过程。。。
响应码有了解吗。。。
输入www.网址会返回哪些资源文件。。。。(压根不晓得,我知道我菜,但居然这么菜,以后直接吃白米饭好了。菜的下饭。。)
html文件,js文件,css文件,png文件,websocket文件等.......
二叉树都有哪些遍历。。。
先序遍历、中序遍历、后序遍历还有层序遍历。
如何求二叉树的最大深度。。(已经懵了,脑子空白,目光呆滞。。。)
有两种方式,一种是递归法,通过分别递归节点的左子树和右子树,然后比较谁大谁小,取大的值加1即得出二叉树的最大深度;
还有一种是通过层序遍历,在遍历每一层的时候将层数计数器加1,遍历完毕后也就得出了相应的二叉树最大深度。
问操作系统:
进程和线程的区别,为什么线程就是不可靠的呢。。。。
反问环节问了公司技术栈啥的,还有看重招聘校招生哪些能力,回答的听敷衍的,然后说综合能力,就基础和实践都挺看重的。。。
总结:还是怪自己,基础太差,只了解表层,要往深了问就直接露馅,对实习项目也没有很好的描述,混子一样,漏洞百出。。。。。。
朋友们,网易2023届校招内推开始啦,岗位多多,机会多多哦。刚开放内推不久,简历库稀缺呢,预计技术岗8月20日会安排第一轮笔试,在这之前投递的都会筛选,大家快冲鸭!!!
下面是内推渠道,大家有意的赶紧踊跃内推起来吧!!!
雷火岗位有少量特别推荐名额,可免筛简历,直通笔试或面试,需要的请私信我哦。
废话不多说,请看下方的内推链接:
#网易云音乐内推#
内推链接:【网易】2023届网易互联网秋季校园招聘内推开始啦!专属内推邀请函:
https://bole.campus.163.com/#/app/index?projectId=46&type=5&boleId=8ea4ab4e8fa56f46&boleType=2&signature=9ca076d8e2a11d5245a8d8edfb99ca0d&isNet=1&isShare=1
,点击链接填写个人信息,秒速获得内推资格 投递内推时间:8月2日-9月2日
内推对象:2023届毕业生
开放城市:杭州,上海,北京
内推优势:有笔试岗位免筛选/无笔试岗位优先筛选
招聘岗位:技术,产品,内容,市场
网易互联网:(其中包括网易严选,网易云音乐,杭州研究院,智慧企业等)
【网易】2023届网易互联网秋季校园招聘内推开始啦!给你分享我的专属内推邀请函:https://bole.campus.163.com/#/app/index?projectId=46&type=5&boleId=8ea4ab4e8fa56f46&boleType=2&signature=9ca076d8e2a11d5245a8d8edfb99ca0d&isNet=1&isShare=1,点击链接填写个人信息,秒速获得内推资格,内推可享受简历优先筛选,拿offer快人一步,赶快行动起来吧!
投递内推时间:8月2日-9月2日
内推对象:2023届毕业生
内推优势:有笔试岗位免筛选/无笔试岗位优先筛选
招聘岗位:技术,产品,内容,市场
网易游戏事业部:
https://xiaozhao.leihuo.netease.com/neitui/#/?introduceId=oMuvVPi91MHRhOJS&mbshare=wx_2&spreadtimes=2
旗下有雷火事业部,伏羲事业部以及其他游戏业务
投递内推时间:非艺术岗位截止9月15日,艺术岗位截止9月28日
内推对象:2023届毕业生
网易互娱:
途径1:
微信扫码内推
https://game.campus.163.com/m/recommend/login
途径2:
官网填写内推码投递
投递官网: https://game.campus.163.com/m/home?st=NDVjOWQ2ZGItY2JiNC00MmI1LTlhYzMtNDBlMzIyMzYyNWVj
内推吗: qXzwdB
投递内推时间:7月26日-9月15日
内推对象:2023届毕业生