2021虾皮Shopee 提前批测试岗一面面经【7.25】
记录一下自己一面时的大致情况,希望能对有缘之人产生一点点帮助。
面试时间是2021年7月25日下午3点,整体时长56分。
给我的整体感觉是,面试官似乎在揪着一个范围内的知识点让我一直说下去,直到我完全说不出来为止,然后根据我的回答进行发散性提问。最后的代码题写着写着发现时间不够被叫停了,导致我来不及输出和调试……
题目
- 自我介绍。
- 你这边对计算机网络了解的多吗?
- 可以说一下你了解到的HTTP协议吗?
这道题我不太清楚“了解到的HTTP协议”是什么意思,是HTTP协议里面包含了什么其它子协议吗?感觉不太对。然后我我回答了HTTP协议版本号,输入一个URL发生了。第四、五、六问就是根据我的回答发散出来的。
- 你知道HTTP请求和HTTP相应报文的内容有哪些吗?
- 你刚刚提到的状态码,有哪些呢?
- 你刚刚提到的GET,POST方法,这些方法有什么区别呢?
- 接下来问一个跟数据库相关的问题:
找出使用信用卡支付且消费总金额超过5000的用户姓名及消费金额。
数据库:
user_table
user_id
user_name
user_phone
user_address
1 name 13908389999
earth
user_id
order_id
order_price
payment_method
1 2 9999
card
- 我有两个文件一和二,怎么做才能把文件一内含有shopee字符的行取出来写入文件二内?
我Linux不好,面试官就问我了解Linux什么。我说了Linux性能指标一类(top、df -h、lsof -i: xxx、 netstat、ps ) - 给登录页面设计测试用例,你会怎么测试?
我这道题好像说的有点久,功能、性能、兼容性、安全性、稳定性、易用性、UI方面都在扯。 - 代码题:
先说一下整体思路,然后再写(可能预料到了我无法在剩余时间内写完并bug free。在说思路时自己相对比较清晰,并且在面试官的引导下找到了相对更合适的方法。然而代码没写完,Python文件输入输出处理完全没准备)
统计某物流运营商单量最大的省市区
详细描述
某物流运营商每天会通过文件的方式记录当天配送的所有订单信息,包括订单号,收货人姓名,收货人电话,收货地址,收货邮编等,现需要根据此文件统计其在当天配送量最大的地区。
输入输出描述
输入描述
本地csv文件,文件中包含表头和具体数据。如:
order_id,receiver_name,receiver_phone,receiver_address,receiver_postal_code
12345:张三,18011111111,北京市-北京市-海淀区-学院路233号,100000
23456:李四,18022222222,广东省-深圳市-南山区-科技南一路122号,518000
34567:王五,18033333333,广东省-深圳市-宝安区-中一122号,518325
45678:赵六,18044444444,广东省-深圳市-南山区-深南大道123号,570012
56789:燕七,18055555555,海南省-三亚市-吉阳区-红沙社区5栋,189473
注:receiver_address一列的格式为:省-市-区-详细地址
输出描述
单量最大的地区,精确到市级,如多个地区的单量相同,则按行输出单量最大的地区。如:
广东省深圳市
或
广东省深圳市
北京市北京市
def get_max_quantity(): # Parameter ans = [] max_quantity = -float('inf') count = {} city_data_complete = [] # record city and quantity pair with open("./test2/filename.txt", "r") as f: all_data = f.readlines() for line in all_data: # Get city data city_data_complete = line.split(",")[2].split('-') city = city_data_complete[0] + city_data_complete[1] count[city] = count.get(city, 0) + 1 # Get the maximun quantity for quantity in count.values(): max_quantity = max(quantity, max_quantity) # Get the corresponding city name for city, quantity in count.items(): if quantity == max_quantity: ans.append(city) return ans
最后就是反问了。
感想
1. 数据结构与算法、操作系统、实习项目等板块都没考察,主要集中在了计算机网络、SQL语句、Linux指令和文件输入输出的代码题上。不仅我准备的LeetCode和剑指Offer都没能派上用场,而且文件的输入输出我完全没练过,做题时就感觉好像一个没刷过算法题的人刚开始做“两数之和”一样。所以刷题还是任重而道远,LC总会有覆盖不到的地方。
2. 反问期间,面试官似乎有一些赶,可能是超过了面试规定的45分钟时间。所以为了简短起见,我主要问了自己面试的表现情况。结果是,面试官没有正面回答我面试的具体表现情况,并提出一些改进建议。我得到的回答是面试官会在一周左右的时间内更新招聘进度,届时还请在公众号上自行查询。
更新:
7月26日上午收到了二面通知,时间定在8月1日。面经链接:https://www.nowcoder.com/discuss/695076