The interview practice is knowledge, python technology interview strategy and skills of the actual record

Liu Yue's technology blog 2021-01-21 17:42:21
interview practice knowledge python technology

Reproduced from 「 Liu Yue's technology blog 」

2021 year , For friends who are looking for a job , Under the novel coronavirus pneumonia epidemic , This year's employment season is even more challenging , More interesting , Whenever this time , All kinds of interview experience sharing is just like crossing the river , can be found everywhere , Because there are too many examples , This is not a detailed example . However, most of these interview experiences stay in the theoretical stage , This creates a problem : Theory and practice , How different is it ? Zeng wenzhenggong, a famous official in ancient China, once said :“ Things in the world , Yell and talk outside , It's always useless , You have to bow in , I'm very responsible , Only in this way can we hope for success .” Revolutionary martyr Mr. Li Dazhao also sighed :“ Do everything down to earth , Don't run away from fantasy , Don't focus on empty voice , But only with the attitude of seeking truth can we make practical efforts . Study with this attitude , Then the truth can be made clear , Do things with this attitude , Then the achievement can be .” So this time we're going to have a real online interview , It is the so-called empty talk that harms the country , Work hard to prosper the country , Practice is the only way to test truth .

First, open a famous vertical recruitment app Software , Looking for our prey :


You can see , We found a senior manager of an enterprise in Beijing python Development position , It is the so-called "no war without preparation" , Before the official interview , We need to analyze the position , Try to figure out the questions that might be asked in the interview , First of all, the position requires flask/django/tornado Experience , Then I can be sure ,web Development must be the main task , In especial flask, It is likely to be the main framework of the position , So we need to prepare python Basics 、 Network protocol 、 as well as flask and django Some of the relevant knowledge to deal with . secondly , Requirements for mysql/pgsql/es/redis And so on database has the use experience , Then we can infer that we should be proficient in using the database , especially pgsql, Be prepared to pgsql And mysql Similarities and differences , It is also noted that es, Then we need to be prepared for the knowledge points related to full-text retrieval , Last redis dependent nosql Database knowledge points must also be consolidated , For a rainy day . Last , The position mentioned the need to be familiar with linux Common commands and docker The ecological system , It's also about selenium Automation test experience . It can be inferred from this that : This position may need to participate in operation and maintenance or deployment work , At the same time, there is also a great opportunity to participate in the automation test project , So for docker and selenium The preparation of relevant knowledge points is urgent , besides , If we can also prepare some cases and projects for in-depth learning, it will be even more icing on the cake .

everything , Choose an auspicious day , We started the interview :

interviewer : Please introduce yourself ?
Interviewers : Hello! , I am a 15 Graduated in , I studied computer in Inner Mongolia University for nationalities , After graduation , I've been teaching high school computer for two years , After working for more than two years, I found a local company to develop wechat apps , Then we use this front end mp-vue frame , The back end is to use Django, It's about a C E-commerce platform on the Internet , Recently, daily life has been maintained at 5 All around .
I'm mainly responsible for the back end Django Some of the interface logic development , Mainly dealing with business , I've also been involved in continuous delivery deployment , We're using this container deployment (docker), There are also grayscale testing and monitoring, as well as some daily sql Statement to extract data bug Repairing this kind of work , Recently, I think this is required in this position in our company selenium,
I've also studied it recently selenium, And wrote a little script , It can automatically upload form data . This is some of my recent work .

In fact, the most taboo part of self introduction is talking nonsense , Such as name 、 Age is reflected in these resumes , So we're going to say something that's not in the resume , Such as my own project , Achievements and achievements ( Diurnal activity 5 ten thousand , Daily life is a very important indicator , For late growth products , A key improvement indicator is to be active , although 5 Wanrihuo can't be realized yet , But it's one from 0 To 1 The process of , It's the foundation of a million days ), Even intentionally or unintentionally , The technical point can be inclined to the job description , For example, in the job description django、 Deploy 、docker、selenium Technology , All can reappear in the self introduction of the interview , Suggest that you are a perfect match for the position , make the old and new contrast and complement each other . It should be noted that , It's best to use honorifics throughout the interview : you , To show respect .

interviewer : well , You can just say this es Full text search ,
Interviewers :es It's like this , At that time, we just wanted to do this retrieval function , But the boss's request is that his response time should be relatively short , So we use this es,es It is based on memory, and its response speed is relatively fast , Second, it's based on this inverted index , Faster than that mysql The positive index of ,io The loss of operation should be smaller , So at that time, I was combining stuttering participle. I don't know if you've heard of it ?
interviewer : I heard a little about it .
Interviewers : We can understand it as , The user will search the statement for word segmentation operation , Cut words for it. After cutting words , I do this index by part of speech , Let me just give you a simple example , For example, he wants to search this ultrathin notebook , But in fact, thin and notebook are adjectives , One is the noun , Actually, I use this part of speech as the search level , The priority of adjectives is 2; The priority of nouns is 1. stay es Do the hierarchical index in the database , Retrieve data according to priority .

Start a formal technical interview , First, the interviewer asked about the technical points in the job description :es Full text search , Let's briefly introduce the background of the project 、 Underlying principle , And at the right time , Ask rhetorical questions , The significance of rhetorical question is , Avoid the boring question and answer mode , Can increase interaction , Adjust the mood , Finally, in terms of technical details , The best example is , Not in general , This is both a user search “ Ultrathin notebook ” As an example , Elaborate on the back end es Search strategy , About retrieval strategy , In fact, the essence of the discussion is the search term weight ( Term weight , Also known as Term Necessity,Query Term Weight) problem , It's part of key word analysis . Anyone familiar with inverted index knows , Documents are usually indexed at the granularity of words . So the analysis of words , It is a very important work in retrieval and analysis , among , It's not just about identifying target words correctly , It also includes all kinds of feature extraction around the target words , therefore , When the search term text contains more than one word , The complexity of the problem increases exponentially . The user's search has more specific needs , The most intuitive manifestation is the growth of text length , There are more supplements around the target words 、 Limit . At the same time, the word order is more free than the article text , The solution is to segment the key words by stuttering , When there are multiple words in the search term , The importance of each word is different , On the basis of word recall , Prioritize words ( Based on part of speech ), So as to achieve the semantic level similar to the user's original requirements .

interviewer : Please talk about the login module of the system .
Interviewers : The login module started with a relatively simple verification function , Then I did some optimization in the future , It's changed to this openldap, I don't know if you've heard of , It's a unified management system based on hierarchical structure .
interviewer : I don't seem to have heard of .
Interviewers : It's a bit like es, Search speed is very fast , It is also convenient for unified management , It's also for easy expansion , To prevent multiple projects from going online one after another in the future , meanwhile ,B If there are some new projects on the Internet , It's convenient for me to do it single sign on, It's single sign on . This is also a small system for my own personal follow-up transformation , It can be understood as unified authentication , It's to pull out the login as a micro service .

Login module for most applications , They are the most basic modules . It seems simple , But it is intertwined with a considerable number of product function user scenarios , By product type 、 User positioning 、 Business logic 、 Use scenarios 、 User operation and other factors , So at this time we need to raise the product height , Avoid the description of daily account , But point out the unified authentication (openldap) And microservice Architecture , Also use rhetorical questions to test the depth of each other's knowledge system , Finally, based on the unified authentication system , Point out the final function practice :Single Sign On( Single sign on ).

interviewer :ok, understand , How is your backstage authority management designed ? Used to xadmin Do you ?
Interviewers : Background authority system is our own research and development , Yes, of course , At the beginning of the technology selection, we also considered xadmin, But you should have known about the system design in it , It's the second time it opens , The threshold is quite high , Because of the complexity of logic design , If I want to change his template , Or I want to make some extensions in his middle key , A little bit of a problem , So I took him out alone and made it myself .
interviewer : Can you talk about it in detail ?
Interviewers : I've transformed xadmin The authority system of is a bit operation system , I don't know if you know bit arithmetic .
interviewer : It's a binary operation ?
Interviewers : Yes , I'm mapping different system nodes to the bits of each binary bit , Then I'll focus on the permission node that the user brings , Do this bit and operation on the corresponding bit , To get permission , For authorization operation, bit or operation is used .

Actually, about the permission system , It's just the use of permission model (acl/rbac/abac), But if you make a little innovation in the form of permission design , So it's like the nuclear bomb that was born suddenly in the age of gunpowder , It's going to impress the interviewer , For example, the bottom foundation of the computer : An operation . as everyone knows , It's fast 、 Efficient 、 Save storage space 、 Very flexible access control . All languages provide bit operators , Include Python, Systems that we can implement in different languages 、 Even the database uses bit operation to realize the management of user rights . Yes, of course , Bit operation also brings some limitations , As the permission code increases , The length of the data increases accordingly . This requires that the permission code should not exceed the operation length of the calculation itself , When storing the permission code in the database , The length of permission code cannot exceed the data type used . Such as : stay 32 Bit system , The number of permission nodes cannot be more than 32 individual . And if it's based on mySQL Database BIGINT, Its storage space is 8Byte, Use BIGINT When you store the code , The number of permissions cannot be more than 64 individual .

interviewer : well , Can you tell me the reason for leaving ?
Interviewers : I think so , I just think that people , It should be to pursue higher development , A bigger environment , We need a bigger market to train ourselves , Right ?
interviewer : Um. .
Interviewers : Of course, this is my personal opinion , And now I think the situation is going against the current , move forward , or you 'll fall behind , Because the epidemic situation in Beijing is still very serious , But I think this is my real chance , I should catch .
interviewer : well , and you? 4 Can you come to the company on the 7th ?
Interviewers : Sure , I've bought my ticket. I've .

At this stage of the interview , Basically the technical side is over , The rest is about human resources , Many friends like to talk about the reasons for leaving the company, such as the collapse of the company 、 Move 、 Layoffs and so on are caused by , But actually , These reasons are not the interviewer “ Want to ” Listen to , So from the perspective of human resource management , What does the interviewer want to hear ? He wants some positive and active reasons , Rather than some passive reason , Because of layoffs 、 Relocation and closure are passive , you “ Forced to ” Leave the company . So to put it bluntly , He needs you to give him a little sense of purpose , Ambition is when one does something , Or the willingness to achieve a set goal . The intensity of ambition , It depends on the size of the will , If the will is stronger , The more ambitious it is , The higher the chance of success , therefore , Of course , You need to prove to him that you're trying to interview .

interviewer : well , See you later ?
Interviewers : well , Thank you very much for this interview
interviewer : Don't be so polite ,88
Interviewers : well , bye

Last , We need to end the interview with a thank you , Whether the interview is successful or not , A sincere thanks will make a good impression on the interviewer , While thanking each other , Thank you for your efforts . Video about the whole interview process , Please move :

Conclusion : It's like 《 Two cities 》 That's what it says : This is the best time , This is the worst of times ; This is the age of wisdom , This is the age of stupidity ; This is the time of faith , This is a time of doubt ; This is the season of light , This is the season of darkness ; This is the spring of hope , This is the winter of disappointment ; There are all kinds of things in front of people , There is nothing in front of people ; People are going straight to heaven , People are going straight to hell . In this age of fickle outbreaks , Sometimes it makes people feel like they have unlimited expectations , Sometimes it makes people fall into infinite despair , But anyway , We always have to face the difficulties , Start a new journey , Instead of sitting back and talking about it , It's better to get up and do it , Learn to live in life , Learn to interview in an interview .

Reproduced from 「 Liu Yue's technology blog 」

本文为[Liu Yue's technology blog]所创,转载请带上原文链接,感谢

  1. Centos7 installing Python 3.8
  2. Centos7 installing Python 3.8
  3. Django——图书管理系统(六)
  4. Django——图书管理系统(五)
  5. Django -- library management system (6)
  6. Django -- library management system (5)
  7. python批量插入数据小脚本
  8. Python batch insert data script
  9. ZoomEye-python 使用指南
  10. Zoomeye Python User's Guide
  11. 用Python写代码,一分钟搞定一天工作量,同事直呼:好家伙 - 知乎
  12. Using Python to write code, one minute to complete a day's workload, colleagues call: good guy - Zhihu
  13. Python 上的可视化库——PyG2Plot
  14. Pyg2plot: a visualization library on Python
  15. Python 上的可视化库——PyG2Plot
  16. Python实用代码-无限级分类树状结构生成算法
  17. Pyg2plot: a visualization library on Python
  18. Python utility code - infinite classification tree structure generation algorithm
  19. 奇技淫巧,还是正统功夫?Python推导式最全用法
  20. Pandas 的这个知识点,估计 80% 的人都得挂!
  21. 前后端分离有什么了不起,手把手教你用Python爬下来!
  22. 在 Azure 上执行一些简单的 python 工作
  23. 推荐 :利用Python的混合集成机器学习(附链接)
  24. Cunning or orthodox Kung Fu? The most complete usage of Python derivation
  25. It's estimated that 80% of pandas people have to hang up!
  26. What's so great about the separation of front and rear ends? Hand in hand teach you to climb down with Python!
  27. Doing some simple Python work on azure
  28. Recommendation: hybrid integrated machine learning using python (link attached)
  29. Learning PPO algorithm programming from scratch (Python version)
  30. Python OpenCV 图片模糊操作 blur 与 medianBlur
  31. Python OpenCV image blur operation blur and mediablur
  32. 成功解决cv2.error: OpenCV(4.1.2) C:\projects\opencv-python\opencv\modules\imgproc\src\color.cpp:182: err
  33. Cv2.error solved successfully: opencv (4.1.2) C:: (projects / opencv Python / opencv modules / imgproc / SRC)\ color.cpp:182 : err
  34. Python 中使用 virtualenv 管理虚拟环境
  35. Using virtualenv to manage virtual environment in Python
  36. 如何使用Python执行系统命令?Python学习教程!
  37. How to use Python to execute system commands? Python tutorial!
  38. 快速掌握Python中的循环技术
  39. Quickly grasp the loop technology in Python
  40. Python主流Web框架之Tornado
  41. appium+python自动化63-使用Uiautomator2报错问题解决
  42. Tornado: the mainstream Python Web Framework
  43. Appium + Python automation 63 - using uiautomator2 to solve the problem of error reporting
  44. 爬虫+django,打造个性化API接口
  45. Crawler + Django to create personalized API interface
  46. 爬虫+django,打造个性化API接口
  47. Crawler + Django to create personalized API interface
  48. C、C++、Java、PHP、Python主要应用在哪里方面?
  49. C. Where are the main applications of C + +, Java, PHP and python?
  50. Python 无限级分类树状结构生成算法 「实用代码」
  51. Python infinite classification tree structure generation algorithm "practical code"
  52. 【Azure 存储服务】Python模块(azure.cosmosdb.table)直接对表存储(Storage Account Table)做操作示例
  53. [azure storage service] Python module( azure.cosmosdb.table )Direct operation example of storage account table
  54. 【Azure 存储服务】Python模块(azure.cosmosdb.table)直接对表存储(Storage Account Table)做操作示例
  55. [azure storage service] Python module( azure.cosmosdb.table )Direct operation example of storage account table
  56. openpose c++ 配置教程 + python api
  57. Openpose C + + configuration tutorial + Python API
  58. PYTHON爬虫实战_垃圾佬闲鱼爬虫转转爬虫数据整合自用二手急速响应捡垃圾平台_3(附源码持续更新)
  59. 使用python javaSerializationTools模块拼接生成 8u20 Gadget
  60. 萌新入门之python基础语法