shopee暑假实习 测试一面面经

废话不多说,直接上内容吧

首先是面试官的自我介绍,来自哪个部门主要负责一些什么业务

然后正式开始面试

先简短自我介绍一下

首先问了一下项目中的内容,以及安卓开发app的文件格式以及相关的配置。

问了一个web服务器的请求设计成http还是https比较好(主要是问htttp和https的区别)

问了搜索框的实现过程(http请求)

如何对搜索框进行测试(说了功能,性能,用户角度),面试管提了安全角度,自己嘴碎提了一嘴sql语句注入,面试管开始拷打sql注入的知识以及sql注入怎么写(不太会)

手撕sql语句,查找两表中从没有购买任何东西的用户(输出id和name都行),有两个表(一个用户表,一个订单表)(我用distint实现的,面试官问是否有其他方法,本人比较菜实在想不到了,面试官说考虑在第二个表中用聚集函数的方式实现)

问了一下linux中查找日志的命令以及关键字异常错误的查找(tail -f),面试官问grep是否也可以,脑子一热说了不知道哈哈,还有cat也问了一下。

问了一下抓包的实现,有用过哪些抓包工具(fiddler和wireshark),是否有使用过web开发者工具,有对哪些数据进行过抓包

如何在fiddler软件中抓包https请求的包(主要想问操作和配置,自己也记不太清了)

问了数据库了解多少,有了解过redis,讲讲redis的三大问题以及如何解决

问了线程和进程的区别,以及多线程如何保证线程安全。

最后问了问常用的软件测试方法和测试样例设计方法,讲讲区别。

手撕数组峰值,********上的原题很简单,思路和代码都很简单,但是编译竟然出问题了没有出结果,面试官让说一下具体思路以及实现以及代码中用了vector,讲讲底层实现,然后说思路代码没啥问题就结束了。

最后就是反问环节

问了问面试官部门常用测试方法,以及测试与开发的占比以及自动化和手工的占比。

面试官也指出了我面试中存在的一些小小问题,真的会很感谢,shopee面试体验感真的很棒,也只有之前在美团面试的时候有感受过这么耐心和温柔的面试了。

面试官说后续会有hr联系后续进程,开始许愿了。

全部评论
线程和进程区别: 线程是进程中的一个执行单元,共享进程所拥有的资源,如内存空间、文件描述符等。这使得线程间的通信变得简单快捷,因为线程可以直接读写共享数据,无需使用特殊的通信机制。然而,这也意味着线程间的同步和互斥变得尤为重要,以避免数据竞争和不一致性的发生。 进程则是操作系统分配资源的基本单位,它拥有独立的地址空间和资源,因此进程间的通信需要通过显式的机制,如管道、消息队列和共享内存等来实现。这使得进程间的通信相对复杂,但也带来了更高的安全性和稳定性,因为不同进程间的数据互不影响。 关于多线程如何保证线程安全,主要有以下几个方面的考虑: 互斥访问:当多个线程需要访问共享资源时,必须确保同一时刻只有一个线程能够访问该资源。这可以通过使用互斥锁(如Java中的synchronized关键字或Lock接口)来实现。互斥锁能够确保同一时间只有一个线程进入临界区,从而避免了数据竞争的发生。 原子操作:原子操作是指一系列不可分割的操作,不会被其他线程中断。在多线程环境下,需要保证原子操作的执行,以避免数据的不一致性。Java中提供了AtomicInteger、AtomicLong等原子类来实现原子操作。 可见性:多个线程同时访问同一个变量时,需要保证对该变量的读写操作对其他线程是可见的。这可以通过使用volatile关键字来确保变量的可见性。volatile关键字会禁止指令重排,并确保变量修改后立即同步到主内存,从而保证了变量的可见性。 线程本地存储:线程本地存储是指每个线程都有自己独立的内存空间,线程之间的数据不会相互影响。这可以通过使用ThreadLocal类来实现线程本地存储,从而避免了线程间数据竞争的问题。
1
送花
回复
分享
发布于 05-19 10:22 广东
如果有需要,最近mhy开了一批,可以看看首页信息
1
送花
回复
分享
发布于 05-22 08:36 上海
秋招专场
校招火热招聘中
官网直投
佬是硕士吗?
点赞
送花
回复
分享
发布于 05-18 17:18 重庆
题都一模一样,不会是一个三十多岁的姐姐吧,感觉她像个老师,每一个我没说全的点她都会补齐,然后我说的比较浅显的她也会深入的解释。
点赞
送花
回复
分享
发布于 05-18 20:22 湖北
请问需要有开发经验嘛
点赞
送花
回复
分享
发布于 05-28 14:24 北京

相关推荐

6 18 评论
分享
牛客网
牛客企业服务