1. 程式人生 > >當面試官問:‘’談一下你面向物件的理解‘’時,你該如何回答~~~

當面試官問:‘’談一下你面向物件的理解‘’時,你該如何回答~~~

回答面試一定要有深度,讓面試的大哥感覺你的水平有層次感

面向物件程式設計,即OOP,是一種程式設計正規化,滿足面向物件程式設計的語言,一般會提供類、封裝、繼承等語法和概念來輔助我們來進行面向物件程式設計。

型別被設計為將資料和行為捆綁在一起的東西,資料和行為被稱為型別的成員。我們可以建立型別的例項,不同的例項包含不同的資料,從而其表現出來的行為也會不同,儘管其程式碼是一樣的。

封裝使得其類的成員得以有選擇性的暴露,一些成員只能在內部使用所以被稱之為私有的,一些成員可以被派生型別使用被稱之為受保護的,一些成員可以被任何人使用,稱之為公開的。

繼承可以從一個現有的型別派生出新的型別來,派生類繼承了基類的所有成員,也可以新增只屬於自己的成員。在任何情況下,派生型別的例項可以被被當做基類型別的例項來使用 。

虛方法為派生類修改基類的行為提供了一種途徑,通過重寫虛方法可以修改基類某些方法的行為。當派生類例項被當做基類例項被使用時,這一行為的區別將會被體現出來,這種在執行時不同型別的例項在相同程式碼中呈現出完全不同的行為的現象叫多型。

面向物件程式設計是目前運用最為廣泛的一種正規化,從而也產生了非常多的解決程式碼複用的技巧,其中相當一部分技巧在程式中反覆出現而被提煉為設計模式。

相關推薦

面試‘’一下面向物件理解‘’如何回答~~~

回答面試一定要有深度,讓面試的大哥感覺你的水平有層次感面向物件程式設計,即OOP,是一種程式設計正規化,滿足面向物件程式設計的語言,一般會提供類、封裝、繼承等語法和概念來輔助我們來進行面向物件程式設計。型別被設計為將資料和行為捆綁在一起的東西,資料和行為被稱為型別的成員。我們

面試如何進行效能優化?

問題背景 在開發好頁面後,如何讓頁面更快更好的執行,是區分一個程式猿技術水平和視野的一個重要指標。所以面試時,面試官總會問你一個問題,如何進行效能優化呢? 效能優化是什麼 從前端的角度來說,效能優化可以分為兩個方向。從使用者角度來看,一個是頁面載入的很快,另一個是頁面使用起來很流暢。因此,對效能優化的探索,我

面試說一個工作中有價值的bug

表面看這是一個非常簡單的一個問題,做測試辣麼久,發現的bug無數,隨便從中挑選一個比較“特別”的一個bug說說就可以了啊! 但其實,越是從習以為常的事情中找“特別”越困難,比如,我每天中午都是樓下隨便找一家快餐店吃飯,如果有人問我:說說你印象深刻的一次吃快餐的經歷。除非我哪天吃出了蒼蠅,否則怎麼

面試執行緒池應該知道些什麼?

Java面試中,執行緒池也算是一個高頻的問題,其實就JDK原始碼來看執行緒池這一塊的實現程式碼應該算是寫的清晰易懂的,通過這篇文章,我們就來盤點一下執行緒池的知識點。 本文基於JDK1.8原始碼進行分析 首先看下執行緒池建構函式: public ThreadP

面試“業餘愛好”如何巧妙回答呢?

“你有什麼業餘愛好?”   招聘者目的是:瞭解應聘者的性格、觀念、心態、思維的深度等。為了深入瞭解應聘者的愛好程度,我會提出更加深刻的問題,比如,應聘者喜歡流行音樂,我就會問相關的問題:“您什麼時候開始喜歡的?您最喜歡哪個歌手?她的演唱風格如何?她的成名曲是哪一首?您最喜歡

面試Vue響應式原理可以這麼回答

const Observer = function(data) { for (let key in data) { defineReactive(data, key); } } const defineReactive = function(obj, key) { const dep =

面試有什麼想我的嗎?」如何回答

在面試結束前例行的提問“你有什麼想問的?”或者“你對我們公司還有沒有想了解的?” 問這個問題,是瞭解應聘者關注的訴求,以及看應聘者對公司是否有極大的興趣,加入的決心,如果你回答沒有了,可能就浪費了一次交流和表決心的機會。有些答主建議回答“公司對我有什麼要求?”或者“公司對這個崗位有什麼要求?”,不太合適,因

面試有什麼要我的嗎」應該什麼?

作者:楊毅 連結:https://www.zhihu.com/question/28058827/answer/39392149 來源:知乎 著作權歸作者所有,轉載請聯絡作者獲得授權。如果面試官職位、級別較低(中層經理及以下職位),可以問以下幾個問題: Ø如何評估員工在試用期內的表現?考核標準是什麼呢? Ø公

面試多執行緒同步內部如何實現的知道怎麼回答嗎?

自己實現鎖 首先,如果要你實現作業系統的鎖,該如何實現?先想想這個問題,暫時不考慮效能、可用性等問題,就用最簡單、粗暴的方式。當你心中有個大致的思路後,再接著往下看。 下文中的程式碼都是虛擬碼。 自旋 最容易想到可能是自旋: volatile int status=0; void

面試平時碰到系統CPU飆高和頻繁GC會怎麼排查?

處理過線上問題的同學基本上都會遇到系統突然執行緩慢,CPU 100%,以及Full GC次數過多的問題。當然,這些問題的最終導致的

面試《MySQL資料庫的鎖機制》如何拿分?

  為什麼要加鎖? 問題背景 當多個使用者併發地存取資料時,在資料庫中就會產生多個事務同時存取同一資料的

美團面試我一個字元的String.length()是多少我說是1面試回去好好學一下

本文首發於微信公眾號:程式設計師喬戈裡 public class testT { public static void main(String [] args){ String A = "hi你是喬戈裡"; System.out.printl

面試Mybatis中的TypeHandler用過嗎?

持續原創輸出,點選上方藍字關注我吧 目錄 前言環境配置什麼是TypeHandler? 如何自定義?如何將其新增到Mybatis中?XML檔案中如何指定TypeHandler? 原始碼中如何執行TypeHandler? 入參如何轉換?結果如何轉換?總結 總結 前言 相信大家用Mybatis這個框架至

面試這些基礎的Python問題竟然還有80%的人不會!

核心 變量 字符 進制數 基礎 技術分享 run 但是 http 怎樣才能開始一個交互式解釋器的會話? 在Windows下可以通過點擊開始按鈕,選擇“程序”,點擊“Python”,然後選擇“Python(command line)”菜單選項來開始一個交互會話。 你應該在哪

面試能否模擬實現JS的new操作符

前言 用過Vuejs的同學都知道,需要用new操作符來例項化。 new Vue({ el: '#app', mounted(){}, }); 複製程式碼 那麼面試官可能會問是否想過new到底做了什麼,怎麼模擬實現呢。 附上之前寫文章寫過的一段話:已經有很多模擬實現new操作符的文章

面試能否模擬實現bind

前言 用過React的同學都知道,經常會使用bind來繫結this。 import React, { Component } from 'react'; class TodoItem extends Component{ constructor(props){ super(prop

面試能否模擬實現JS的call和apply方法

之前寫過兩篇《面試官問:能否模擬實現JS的new操作符》和《面試官問:能否模擬實現JS的bind方法》 其中模擬bind方法時是使用的call和apply修改this指向。但面試官可能問:能否不用call和apply來實現呢。意思也就是需要模擬實現call和apply的了。 附上之前寫文章寫過的一段

面試如何讓其他部門重視資料?怎麼答?

本文轉自知乎 作者:接地氣的陳老師 ————————————————————————————————————————————————————— 有同學問:老師,面試官問了我一個這樣的問題:“管銷售的領導一直不關心資料,而且人家那個部門也一直業績排名第一,每年的指標都能達標,要怎樣讓這個領導重視起來呢?”

面試JS的this指向

面試官經常會出很多考題,都會考察this指向,也是看候選人對JS基礎知識是否紮實。 附上之前寫文章寫過的一段話:已經有很多關於this的文章,為什麼自己還要寫一遍呢。學習就好比是座大山,人們沿著不同的路登山,分享著自己看到的風景。你不一定能看到別人看到的風景,體會到別人的心情。只有自己去登山,才能看到

面試我ArrayList和LinkedList哪個更佔空間我這麼答讓他眼前一亮

前言 今天介紹一下Java的兩個集合類,ArrayList和LinkedList,這兩個集合的知識點幾乎可以說面試必問的。 對於這兩個集合類,相信大家都不陌生,ArrayList可以說是日常開發中用的最多的工具類了,也是面試中幾乎必問的,LinkedList可能用的少點,但大多數的面試也會有所涉及,尤其是關於