1. 程式人生 > >Python資料分析師面試之“完美世界”資料分析師實習生

Python資料分析師面試之“完美世界”資料分析師實習生

只能說是狗血的劇情。太意外了。。。。

早上起來洗洗漱漱,好好的收拾一下,準備去面試,畢竟想給面試官一個好的第一印象,去之前還特意去了趟實驗室,結果發現沒帶實驗室的鑰匙,又打電話找小夥伴拿鑰匙,進去了之後,拿上簡歷,順帶帶上之前的筆記,能多準備點就多準備點,帶著還算可以的自信,就去了,一路上還是蠻忐忑的,大約一個多小時,到了面試所在的酒店,從進樓的第一刻就開始的我亂七八糟的面試經歷,先是進錯了電梯,後來又是面試的簽到處找不到自己的名字(後來發現是自己的名字被打錯了),整個過程尷尬的不行不行的了,終於簽完到了,就坐在沙發上等著。哈,終於等到自己了,坐在面試官前面,先是來了個自我介紹,然後問我為什麼選這個崗位(可能面試官當時就覺得我不適合這個崗位,或者是說我對這個崗位定義錯了,後者的可能性極大),之後又問我的學習情況,以及讓我重新學一門語言的話需要多長時間,還問了一些我對遊戲的看法,問完了之後,評價到“你的學習能力很強,我們這個資料分析師崗位是運營類,並不是你所理解的那個大資料方向的,我建議把你推薦到遊戲開發崗位”,我當時感覺可能要涼了,因為對於c++我完全就是個小白,啥也不會,但是我還是硬著頭皮去試了一下,儘管我並不想去,然後面試官就去和部門主管聯絡,讓我去了遊戲開發崗面試,新的面試官是一位很和藹的大姐,但是可能我讓他很失望。整個面試過程我感覺自己的智商完全下線,一些簡單問題都不知道怎麼回答,整個過程尷尬的不能再尷尬,問了一段時間,基本沒回答什麼,結束了,面試官大姐讓我再那等會。我就在那查查了一下剛才的問題,(下面是所問的問題,各位看官不要笑哈,我也不知道我當時的腦子去哪了。。。。)

1、(c++):你給我介紹一下static關鍵字

  主要功法如下:

  1)類的靜態成員,

    在cpp中必須對它進行初始化:

   int A::s_value = 0;// 注意,這裡沒有static的修飾!

class A
{
    private:
        static int s_value;
};

   類的靜態成員是該類所有例項的共用成員,也就是在該類的範疇內是個全域性變數,也可以理解為是一個名為A::s_value的全域性變數,只不過它是帶有類安全屬性的;道理很簡單,因為它是在程式初始化的時候分配的,所以只分配一次,所以就是共用的;類的靜態成員必須初始化,道理也是一樣的,因為它是在程式初始化的時候分配的,所以必須有初始化,類中只是宣告,在cpp中才是初始化,你可以在初始化的程式碼上放個斷點,在程式執行main的第一條語句之前就會先走到那;如果你的靜態成員是個類,那麼就會呼叫到它的建構函式;

   2)類的靜態函式:

class A 
{
    private:
        static void func(int value);
};

   實現的時候也不需要static的修飾,因為static是宣告性關鍵字;類的靜態函式是在該類的範疇內的全域性函式,不能訪問類的私有成員,只能訪問類的靜態成員,不需要類的例項即可呼叫;實際上,它就是增加了類的訪問許可權的全域性函式:

   void A::fun(int);靜態成員函式可以繼承和覆蓋,但無法是虛擬函式;

  3)只在cpp內有效的全域性變數:

  在cpp檔案的全域性範圍內宣告:

static int g_value = 0;

  這個變數的含義是在該cpp內有效,但是其他的cpp檔案不能訪問這個變數;如果有兩個cpp檔案聲明瞭同名的全域性靜態變數,那麼他們實際上是獨立的兩個變數;

  如果不使用static宣告全域性變數:int g_value = 0;

  那麼將無法保證這個變數不被別的cpp共享,也無法保證一定能被別的cpp共享,因為要讓多個cpp共享一個全域性變數,應將它宣告為extern(外部)的;也有可能編譯會報告變數被重複定義;總之不建議這樣的寫法,不明確這個全域性變數的用法;

  如果在一個頭檔案中宣告:

  static int g_vaule = 0;

  那麼會為每個包含該標頭檔案的cpp都建立一個全域性變數,但他們都是獨立的;所以也不建議這樣的寫法,一樣不明確需要怎樣使用這個變數,因為只是建立了一組同名而不同作用域的變數;

  這裡順便說一下如何宣告所有cpp可共享的全域性變數,在標頭檔案裡宣告為extern的 :

  extern int g_value; // 注意,不要初始化值!

  然後在其中任何一個包含該標頭檔案的cpp中初始化(一次)就好:int g_value = 0; // 初始化一樣不要extern修飾,因為extern也是宣告性關鍵字;然後所有包含該標頭檔案的cpp檔案都可以用g_value這個名字訪問相同的一個變數;

  4)只在cpp內有效的全域性函式:

  在cpp內宣告:

  static void func();

  函式的實現不需要static修飾,那麼這個函式只可在本cpp內使用,不會同其他cpp中的同名函式引起衝突;道理和如果不使用static會引起的問題和第3點一樣;不要在標頭檔案中宣告static的全域性函式,不要在cpp內宣告非static的全域性函式,如果你要在多個cpp中複用該函式,就把它的宣告提到標頭檔案裡去,否則在cpp內部宣告需要加上static修飾;

2、(c++):c語言中建立動態陣列的方式是什麼?釋放?那麼c++中建立動態陣列的方式是什麼?釋放呢?    

   c語言:malloc()和free();    c++:new(),delete();

3、(mysql):你介紹一下什麼是“事務”

  事務由單獨單元的一個或多個SQL語句組成,在這個單元中,每個MySQL語句是相互依賴的。而整個單獨單元作為一個不可分割的整體,如果單元中某條SQL語句一旦執行失敗或產生錯誤,整個單元將會回滾。所有受到影響的資料將返回到事物開始以前的狀態;如果單元中的所有SQL語句均執行成功,則事物被順利執行。

  事務的四個屬性:

  1、原子性:事務是由一個或一組相互關聯的SQL語句組成,這些語句被認為是一個不可分割的單元。

  2、一致性:對於資料庫的修改是一致的,即多個使用者查的的資料是一樣的。一致性主要由mysql的日誌機制處理,他記錄資料的變化,為事務恢復提供跟蹤記錄。

  3、隔離性(孤立性):每個事務都有自己的空間,和其他發生在系統中的事務隔離開來,而且事務的結果只在他完全被執行時才能看到

  4、永續性:但提交了這個事務之後對資料的修改更新就是永久的。當一個事務完成,資料庫的日誌已經被更新時,永續性即可發揮其特有的 功效,在mysql中,如果系統崩潰或者資料儲存介質被破壞,通過日誌,系統能夠恢復在重啟前進行的最後一次成功更新,可以反應系統崩潰時處於執行過程的事物的變化。

4、(作業系統):介紹一下執行緒和程序的區別

   定義

   程序:具有一定獨立功能的程式關於某個資料集合上的一次執行活動,程序是系統進行資源分配和排程的一個獨立單位.

   執行緒:程序的一個實體,是CPU排程和分派的基本單位,它是比程序更小的能獨立執行的基本單位.執行緒自己基本上不擁有系統資源,只擁有一點在執行中必不可少的資源(如程式計數器,一組暫存器和棧),但是它可與同屬一個程序的其他的執行緒共享程序所擁有的全部資源。

   聯絡:

   一個執行緒可以建立和撤銷另一個執行緒;同一個程序中的多個執行緒之間可以併發執行.

   相對程序而言,執行緒是一個更加接近於執行體的概念,它可以與同進程中的其他執行緒共享資料,但擁有自己的棧空間,擁有獨立的執行序列

   區別:

   1.地址空間和其它資源:程序間相互獨立,同一程序的各執行緒間共享。某程序內的執行緒在其它程序不可見。

   2.通訊:程序間通訊IPC,執行緒間可以直接讀寫程序資料段(如全域性變數)來進行通訊——需要程序同步和互斥手段的輔助,以保證資料的一致性。

   3.排程和切換:執行緒上下文切換比程序上下文切換要快得多。

   4.在多執行緒OS中,程序不是一個可執行的實體。

5、(專案):你說一下你是如何實現跳一跳外掛的(這一部分就不贅述了,有興趣可以參看另一篇部落格python進階之微信跳一跳外掛

相關推薦

Python資料分析師面試完美世界資料分析師實習生

只能說是狗血的劇情。太意外了。。。。早上起來洗洗漱漱,好好的收拾一下,準備去面試,畢竟想給面試官一個好的第一印象,去之前還特意去了趟實驗室,結果發現沒帶實驗室的鑰匙,又打電話找小夥伴拿鑰匙,進去了之後,拿上簡歷,順帶帶上之前的筆記,能多準備點就多準備點,帶著還算可以的自信,就

Python實習面試網易資料分析師筆試

可能是我之前複習的有點偏,網易資料分析實習生的筆試題目做起來有些吃力,一共是20個選擇題和3個簡答題,選擇題主要是考察數值分析、概率論、資料結構。其他的內容幾乎沒有涉及。印象比較深的是幾個題是關於均值問題、找零錢問題、還有個鋪地板問題。總體來看主要考察的是概率論。簡答題主要是

Python極簡教程七:資料格式化(format)

自 python 2.6 開始,新增了一種格式化字串的函式str.format(),可謂威力十足。那麼,他跟之前的%型格式化字串相比,有什麼優越的存在呢?讓我們來揭開它羞答答的面紗。 #語法 它通過{}和:來代替%。 位置 '{0},{1}'.format('kzc',18) # k

資料視覺化繪製世界人口地圖

繪製世界人口地圖 準備工作 1.下載資料(http://data.okfn.org/) 檔案population_data.json儲存到程式所在的資料夾中,這個檔案包含全球大部分 國家1960~2016年的人口資料 2.新建一個世界人口地圖專案(包含以下檔案)

使用python抓取汽車家車型資料

import requests import pymysql HOSTNAME = '127.0.0.1' USERNAME = 'root' PASSWORD = 'zyndev' DATABASE = 'zyndev_new' brand = 'ht

Python機器學習庫SKLearn:資料集轉換預處理資料

資料集轉換之預處理資料:       將輸入的資料轉化成機器學習演算法可以使用的資料。包含特徵提取和標準化。       原因:資料集的標準化(服從均值為0方差為1的標準正態分佈(高斯分佈))是大多數機器學習演算法的常見要求。      如果原始資料不服從高斯分佈,在預測時

資料型別轉化從 datetime2 資料型別到 datetime 資料型別的轉換

從 datetime2 資料型別到 datetime 資料型別的轉換產生一個超出範圍的值 最近在ASP.NET MVC中遇到一個問題,如題,在使用EF資料模型的時候,要去新增一條新的資料到Sqlserver資料庫,在之前專案中並沒有出現該異常,所以去扒了扒demo,發現有幾個欄位(資料庫型別為d

讀書筆記 |《資料結構》 什麼是資料結構(一)

剛好最近又找出大二修的資料結構的書,就想著把讀書筆記po上來。 資料結構是什麼 資料結構+演算法=程式 過程解析:發現問題,分析問題並抽象出具體的資料模型(待處理的資料以及資料之間的關係,即資料結構);設計演算法,其中包括完成資料表示(將資料以及資

網頁資料抓取讀取網頁資料

最近專案中需要用到各大網站的資料,這裡沒用爬蟲,用純java程式碼,無任何外掛,抓取一些自己需要的資料! 後續會記錄主要的幾個網站資料抓取,主要針對帶單個搜尋框的網站!下面是一個公用的讀取網頁資料操作

網頁資料抓取大眾點評資料

package com.atman.baiye.store.utils; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;

資料預處理將類別資料數字化的方法 —— LabelEncoder VS OneHotEncoder

LabelEncoder 和 OneHotEncoder 是什麼 在資料處理過程中,我們有時需要對不連續的數字或者文字進行數字化處理。在使用 Python 進行資料處理時,用 encoder 來轉化 dummy variable(虛擬資料)非常簡便,encoder 可以將

資料關聯演算法最近鄰資料關聯(Nearest Neighbor,NN)

在上一篇部落格中有詳細介紹資料關聯的步驟: 建立關聯門,確定關聯門限。 門限過濾。 確定相似性度量方法。 建立關聯矩陣。 確定關聯判定準則。 形成關聯對。 在這些步驟中,關聯門可以選擇矩形或橢圓形,對於最近鄰演算法,相似性度量方法選擇加權歐式距離。 資料關聯是將

完美世界2017年實習生遊戲c++開發工程師筆試程式設計題答案

真氣死我了,所以凡事要看清楚題目要求。。。這麼簡單的題目,我一道題用了1個小時,我TM好想進完美世界呀,這樣就可以一直玩遊戲了,,好想戳死我自己 1、大體意思就是兩個人隨便輸入數字。先輸入第一個人的數字,不詳個數,兩個數字之間用空格隔開,以輸入0結束 再輸入第二個人的數字,

資料分析師養成python:從頭學習機器學習(KNN_1)

實現kNN分類演算法: 快速理解kNN分類演算法: 如上圖,綠色圓即為我們要預測的樣本,K=3時,即距離綠色圓最近的3個樣本(最內圈內) 中,2個紅色三角,1個藍色方框

python基礎+AI面試簡歷+資料分析+機器學習原始碼+s9lvlinux教程+04ctlinux虛擬機器

python基礎:連結:https://pan.baidu.com/s/1rarM37sy8Ri0vpjsjRD3yg 密碼:12sgpython3精品爬蟲:連結:https://pan.baidu.com/s/1DiZNc6elzn7t8pvM8K5OxQ 密碼:9yo0聊天機器人:連結:

python資料查詢操作 一場缺少db.commit()引發的血案……

---恢復內容開始--- 最近大作業用到了python操作資料庫的內容。涉及的庫是pymmysql,我就不詳細介紹這個庫的操作了,直接奔入主題--->開整  背景:        涉及程式中一個實時檢視資料表中state欄位==1的功能,我把這個功能單

python:爬蟲爬取資料的處理Json字串的處理(2)

#Json字串的處理 Json字串轉化為Python資料型別 import json JsonStr ='{"name":"sunck","age":"18","hobby":["money","power","English"],"parames":{"a":1,"b":2}}' Js

Python資料視覺化密度圖的繪製

密度圖表現與資料值對應的邊界或域物件的一種理論圖形表示方法。一般用於呈現連續變數。 *摘自百度百科* 在電腦科學當中,資料的視覺化常常被提起。近日,在影象處理當中,需要統計圖片中的人流密度並繪製相應密度圖,於是小小研究一番。效果如下: 所有程式碼儲存在Github上。 首

滴滴資料分析師面試

一面群面 問題很簡單就是資料分析,幾點注意,1是自信陽光,2每說一句話都要有力,能支援結論 二面1v1專業面 今天面試的,首先吐槽下滴滴兩件事。 第一件事,超市賣的烤腸不乾淨,我現在還在吐 。 第二件事,面試郵件裡,滴滴hr聯絡方式沒有,我5點到的,一直和前臺反饋,但6點還沒見到

《利用python進行資料分析》整數索引

《利用python進行資料分析》之整數索引 # -*- coding: utf-8 -*- """ Created on Sat Nov 17 22:23:46 2018 @author: muli """ from pandas import Series,Dat