24届虾皮Shopee客户端开发笔试面试经验-春招
【写在前头:时间已经进入到了7月,预计最近一段时间把我能够分享的笔试面试经验全部放出。现在的笔面经可能对25届有用】
投递岗位:深圳虾皮Shopee,客户端开发。
投递时间(春招):24年3月月底进行投递,4月15号笔试,4月20号面试,一周内感谢信。
笔试:
1-10单选。1,有一个头节点的单链表,判断其为空的条件。2,哈希冲突的处理办法。3,synchronized关键字主要起到的是什么作用,有什么特点。4,两个二进制的1进行算术加法和逻辑加法的结果是。5,虚拟内存管理的特点(不会一次性全部加载程序)。6,CAS是基于什么的。7,MAX PRIORITY的线程一定会更快执行吗?8,Activity全部退出以后,会发生什么?9,Integer包装类的值比较。10,前序遍历后序遍历转中序遍历。
1-5多选。1,HTTP多路复用的好处。2,Service的生命周期。3,Java的GC算法。4,Java基本类型的初始值。5,红黑树的有关概念。
编程题1,给你一个完全二叉树,要求你输出节点个数(比较简单,用暴力法也可以AK)。
编程题2,给你一个字符串,里面可能有若干小写字母连续的子串,这些子串内部反转,其他不动,最后输出。
编程题3,求一个数组,连续子序列的最大和(似乎是Leetcode的原题),但是用暴力解法解出来也有70%的通过率。
面试:
手撕算法题。给一个数组,数组里面的元素为1到9。现在需要让你进行升序排列,然后拼接成字符串输出。其实不难,由于用了系统自带的排序API,后面要求手写一个排序,并且指出其时间复杂度。
计算机专业基础问题。“什么是用户态,什么是内核态”,“虚拟内存的概念是什么”,“谈一谈中断的概念”,“Http/Https使用到了哪些算法,抓包的时候可以抓到明文吗?如果我要用手机来实现抓包,我可以怎么做?”,“TCP是面向连接的,你怎么理解。怎样区分不同的连接”,“谈一谈软件工程的六大设计原则”。
Java和Android有关的问题。“Activity等组件有很多生命周期方法,重写这些方法体现了哪种设计原则”,“HashMap的内部底层是如何实现的,了解过weakHashMap吗,使用场景如何?”,“Java的泛型是什么,如何理解。拥有泛型的代码被编译成字节码以后,泛型还存在吗?”,“知道注解是什么吗?Runtime注解是个什么情况”,“Activity的四种启动模式(standrad,singleTask,singleTop,singleInstance),singleTask和singleInstance分别会用在哪些地方”,“Service运行在主线程吗?”,“什么是全局广播,什么是本地广播,本地广播可以使用什么实现”,“Service启动的两种方式和区别”,“ContentProvider是做什么用的,可以实现什么目的”,“讲一讲Handler吧,知道HandlerThread是什么吗,子线程内部用Handler做交互是如何的?”,“了解Kotlin吗?谈谈它的一些特性,协程是什么?”。
项目(简单)考问。“你所参与的项目的作用是什么”,“在这个过程中有没有碰到什么难题?”。
非(严格)技术相关问题。“自我介绍”,“当时是为什么想要考研”,“编程语言熟悉哪些?”,“你觉得你和其他竞争者的优势和劣势是什么”(有工作和实习经历,所以能够很快的进入到工作状态,劣势在于精力比不上同辈,然后面试官提到说虾皮不怎么加班),“谈谈你的职业规划”,“有没有想过在实习单位转正?”,“反问,(业务问,似乎做的是内部的办公应用开发,米哈游24届春招的时候也有这个岗位),(流程问,两个技术面,一个HR面)”。
总结:
很典型的互联网的面试内容(计算机基础+面试岗位专业基础+算法+项目+其他),范围较广,具有一定的深度,所以算是被狠狠拷打,最后流程挂了也算是情理之中。笔试题目倒还不算太难。
#软件开发2024笔面经##软件开发笔面经##虾皮##客户端#