浦发信息科技面经,20190821
面试
自我介绍2分钟,谈了两个项目,但面试官没问项目,直接进入正题了。
问:做过项目是吧,用过数据库吗?
答:没用过
问:主要是用python是吧?
答:是的,C语言我也会一些
问:既然是熟悉python,就问python吧,python用几年了?
答:从研一开始用,有两年了
问:写了多少行代码?
答:项目里应该有一两千行吧
问:python有哪些数据类型?
答:不可变和可变,可变的有列表,字典,不可变的有数字,字符串,元组
问:还有呢?
答:可变的还有集合set()
问:还有呢?
(实在想不出来面试官就换话题了)
问:说说字符串的替换和查找操作
答:replace()可以替换
(查找函数忘了面试官又换话题了)
问:如何交换两个变量?
答;a, b = b, a
问:如何筛选出一个列表里的偶数?
答:用列表推导 [x for x in L if not x & 1]
问:平时用什么IDE
答:pycharm
(感觉就问这么多了,旁边一个面试官打断了这位面试官的话,来考道算法题吧。)
(面试官会给你一张A4纸,旁边有空白纸和笔,有两分钟时间思考)
(题目大概是,一大段字符串,单词以空格隔开,统计每一个单词的词频)
问:想好了吗?
答:我有两个方法,首先用split()函数以空格为间隔,分离出每一个单词存到列表中,再用自带的count()函数去统计词频,但这样就不是考算法了,所以可以用第二种方法,每次读一个单词与后面的作比较,遇到一样的计数就加一。然后用同样的方式去算其他单词的词频
(人生第一次求职面试,感觉太慌了,感觉一切都靠本能。其实第二种方法很笨,实际应用中根本就不合实际,因为时间复杂度太高,工作中我肯定会用第一种,但第一种调用内置函数看不到你的思路)
(当我走出面试房间的时候,我就想到了第三种方法,时间复杂度O(n))
(使用哈希,以单词作为键,每遇到这个单词,以该单词为键的值就加一,只需要遍历一次,就能统计完所有的词频,感觉很遗憾)
笔试
说说笔试,笔试编译器真的很坑,无法调式,人工审代码。我是打开记事本在里面写代码,写完了复制到答题页面提交的。
笔试三道题:
一,判断一个数是否是素数。
二,输出字符串的简称,比如字符串是"end of file",输出"EOF"
三,连续子数组的最大和,这道题来自剑指offer。
听说分享面经能赞人品,那分享GitHub资料呢?
我的github面试资料分享,求给star,右上角那个星星看到了么?
- [以问答的风格对编程语言查漏补缺](https://github.com/jinbooooom/Programming-Checking-for-Missing)
- [面试刷题(包含python数据建构,剑指offer python版,leetcode)](https://github.com/jinbooooom/coding-for-interview)
- [大数据方向可以看看这个](https://github.com/jinbooooom/DL-ML-algorithm-paper-offer)