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笔面经##软件开发笔面经##虾皮##客户端#
全部评论

相关推荐

1. C++中的`friend`关键字有什么作用?2. 解释一下C++中的虚函数和纯虚函数的区别。3. C++中如何实现运算符重载?4. C++中的`static`成员函数和非静态成员函数有什么区别?5. C++中`const`和`constexpr`的区别是什么?6. 解释一下C++中的异常处理机制,包括`try`、`catch`和`throw`。7. C++中的`std::map`和`std::unordered_map`有什么区别?8. C++中如何实现一个多线程的生产者-消费者模型?9. C++中的`std::vector`和`std::list`的区别是什么?10. 解释一下C++中的模板元编程。11. C++中如何使用`std::mutex`进行线程同步?12. C++中的`decltype`关键字有什么用?13. C++中的`std::any`是什么?有什么用?14. 解释一下C++中的命名空间的作用和使用方法。15. C++中如何使用`std::shared_ptr`和`std::weak_ptr`解决循环引用问题?16. C++中的`std::string_view`有什么优势?17. C++中如何使用`std::for_each`算法?18. 解释一下C++中的类型转换和类型安全。19. C++中的`std::function`和函数指针有什么区别?20. C++中如何使用`std::thread`实现简单的多线程程序?21. C++中的`std::chrono`库有什么用?22. 解释一下C++中的动态内存分配和释放。23. C++中如何使用`std::array`实现固定大小的数组?24. C++中的`volatile`关键字有什么作用?25. C++中如何实现自定义的比较函数?26. C++中的`std::move`和`std::forward`的区别是什么?27. 解释一下C++中的默认参数和重载函数。28. C++中如何使用`std::transform`算法?29. C++中的`std::unique`和`std::remove`的区别是什么?30. C++中如何实现自定义的排序算法?31. C++中的`std::initializer_list`有什么用?32. 解释一下C++中的构造函数的初始化列表。33. C++中如何使用`std::copy`算法?34. C++中的`std::variant`和`std::any`有什么区别?35. C++中如何实现自定义的线程池?面经答案在专栏中  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
2 10 评论
分享
牛客网
牛客企业服务