难度指数: ★★★
重要指数: ★★★
不存在一招致胜的方法可以有效的提高python的运行效率,泛泛而谈即可
这些都是工作中的一些经验总结,回答时,挑自己理解的说,免得对方深入提问时答不上来
难度指数: ★★★
重要指数: ★★★★★
异常是编程中无法避免的情况,首先,我们要定位问题,异常信息里提供了很关键的信息,比如下面这段代码
def func_tet():
func_sum('4', 3)
def func_sum(a, b):
value = a + b
return value
func_tet()
运行时报错内容为
先关注最后一行红色框内的信息,这里的信息明确的指明了异常的类型和异常的解释信息,这是我们分析问题的第一步,随着经验的积累,你很容就能通过异常信息分析出为何会发生异常
异常信息的第二部分,就是蓝色框内的内容,是调用堆栈信息,详细的记录了程序的执行路径,最后一行正是错误发生的位置。
通过异常信息,已经清楚的掌握了异常的类型和发生异常的位置,这通常已经能够帮助我们解决大部分问题。当然也还是存在一些错误和异常,无法通过异常信息来定为和解决,这个时候,就需要我们单步跟踪调试。
如果条件允许,使用pycharm 进行调试,这方面的文章参见如何调试程序
如果条件不允许,则使用pudb进行调试,参见文章使用pudb在终端调试python代码
回答的关键点有两个:
难度指数: ★★★
重要指数: ★★★★
这是一个非常开放的题目,考察的是你的工作经验,所以,回答的关键不在于有多深入,而在于你知识范围有多广泛,首先需要指明不存在一种方法可以立竿见影的提升web项目的性能,提升性能,首先要定位性能的瓶颈在哪里。
你能说出这个观点,就足以证明,你是一个能抓住问题要点的人,那么接下来,你得谈一谈怎么样定位系统性能的瓶颈。
把这几个数据已统计,基本上系统的瓶颈也就找到了,接下来,从三个方面谈优化
这就实在没什么可说的了,数据库该建索引的要建索引,适合缓存的要放在缓存数据库里,数据量太大了,就考虑分库,分表等方法。
难度指数: ★★★
重要指数: ★★★★★
这个问题,是面试时必问的题目,答案几乎都是固定的
回答到这里,算是合格了,但你面试的是python岗位,所以得围绕着python来展开,有几点要照顾到
QQ交流群: 211426309