Using rotation of proxies within a Python script
Every time you call scrape_page() with some URL, you end up making at least two requests: at least one request to verify that the randomly chosen proxy works, and then to make the main request.  Isn't that overhead a bit excessive?  Why not optimistically assume that a proxy works, and verify the proxy only if the main request fails?

If many requests fail — for example, if your network is down — then your program would get stuck in a tight, infinite retry loop.  Even a 0.1-second delay in the exception handler would be very helpful to prevent the CPU from going haywire.

The code in check_proxy() is a bit redundant with the code in scrape_page().  Also, check_proxy() is inappropriately recursive.  I would create a set_proxy() function that has a more comprehensive mission.

Instead of assuming that each proxy is HTTPS, I would write the URL of each proxy with the explicit protocol, then infer the protocol by parsing the URL.

from bs4 import BeautifulSoup
from fake_useragent import UserAgent
from random import choice
import requests
from time import sleep
from urllib.parse import urlparse

PROXIES = [
    'https://128.199.254.244:3128',
    'https://95.85.79.54:53281',
    'https://128.199.125.54:2468',
    'https://178.45.8.113:53281',
    'https://206.189.225.30:3128',
]

def set_proxy(session, proxy_candidates=PROXIES, verify=False):
    """
    Configure the session to use one of the proxy_candidates.  If verify is
    True, then the proxy will have been verified to work.
    """
    while True:
        proxy = choice(proxy_candidates)
        session.proxies = {urlparse(proxy).scheme: proxy}
        if not verify:
            return
        try:
            print(session.get('https://httpbin.org/ip').json())
            return
        except Exception:
            pass

def scrape_page(url):
    ua = UserAgent()
    session = requests.Session()
    session.headers = {'User-Agent': ua.random}
    set_proxy(session)

    while True:
        try:
            response = session.get(url)
            break
        except Exception as e:
            session.headers = {'User-Agent': ua.random}
            set_proxy(session, verify=True)
            sleep(0.1)

    soup = BeautifulSoup(response.text, 'lxml')
    for items in soup.select(".question-hyperlink"):
        print(items.text)